bech32Decode
導入バージョン: v25.6.0bech32 または bech32m アルゴリズムで生成された Bech32 アドレス文字列をデコードします。
エンコード関数とは異なり、
bech32Decode はパディングされた FixedString を自動的に処理します。address— デコードする Bech32 文字列。StringまたはFixedStringmode— 省略可。先頭バイトを witness version として取り除かずにデコードするには'raw'を指定します。非 SegWit アドレス (例: Cosmos SDK) の場合に使用します。String
(hrp, data) で構成されるタプルを返します。データはバイナリ形式です。Tuple(String, String)
例
アドレスをデコード
Query
Response
Query
Response
bech32Encode
導入バージョン: v25.6.0 Bech32 または Bech32m アルゴリズムを使用して、human-readable part (HRP) とバイナリデータ文字列をエンコードします。FixedString データ型を使用する場合、値が行を完全に埋めないと、null 文字で埋められます。
bech32Encode 関数は hrp 引数についてはこれを自動的に処理しますが、data 引数については値を埋めてはいけません。
このため、すべての値の長さが同じであり、かつ FixedString カラムもその長さに設定されていることを確実に保証できる場合を除き、
データ値に FixedString データ型を使用することは推奨されません。hrp— コードの “human-readable part” を指定する、1 - 83文字の小文字からなる String。通常は ‘bc’ または ‘tb’ です。StringまたはFixedStringdata— エンコードするバイナリデータの String。StringまたはFixedStringwitver_or_variant— 任意。UInt* の witness version (デフォルトは 1、Bech32 では0、Bech32m では1以上) または、String のエンコード variant ('bech32'(BIP173) または'bech32m'(BIP350) ) のいずれかを指定します。文字列の variant を使用する場合、witness version バイトは先頭に追加されません。これは Cosmos SDK などの非 SegWit アドレスで必要になります。UInt*またはString
String
例
デフォルトの Bech32m
Query
Response
Query
Response
Query
Response
Query
Response
bin
導入バージョン: v21.8.0 異なる型に対して、以下のロジックに従った引数の 2 進表現を含む文字列を返します。
構文
String
例
単純な整数
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
導入バージョン: v21.7.0 この関数は、符号なし整数の2進表現において、1 であるビットの位置を昇順で返します。 符号付きの入力整数は、まず符号なし整数にキャストされます。 構文arg— 整数値。(U)Int*
Array(UInt64)
例
1 ビットのみが立っている場合
Query
Response
Query
Response
bitmaskToArray
導入バージョン: v1.1.0 この関数は、整数を 2 の累乗の和に分解します。 2 の累乗は、昇順に並んだ配列として返されます。 構文num— 整数値。(U)Int*
Array(UInt64)
例
基本例
Query
Response
Query
Response
bitmaskToList
導入バージョン: v1.1.0 bitmaskToArray と同様に、2 の累乗をカンマ区切りの文字列として返します。 構文num— 整数値。(U)Int*
String
例
基本例
Query
Response
char
導入バージョン: v20.1.0 渡された引数の数と同じ長さの文字列を返します。各バイトは 対応する引数の値になります。数値型の引数を複数受け付けます。 引数の値がUInt8 データ型の範囲外である場合、その値は
丸めやオーバーフローが発生する可能性のある形で UInt8 に変換されます。
構文
num1[, num2[, num3 ...]]— 整数として解釈される数値引数。(U)Int8/16/32/64またはFloat*
String
例
基本例
Query
Response
Query
Response
hex
導入バージョン: v1.1.0 引数の16進表現を含む文字列を返します。型ごとの処理ロジックは次のとおりです。
この関数では大文字の
A-F を使用し、プレフィックス (0x など) や接尾辞 (h など) は使用しません。
構文
String
例
単純な整数値
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
導入バージョン: v24.6.0 ヒルベルト曲線のインデックスをデコードし、多次元空間の座標を表す符号なし整数のタプルに戻します。hilbertEncode 関数と同様に、この関数には 2 つの動作モードがあります。
- シンプル
- 拡張
UInt64 コードを生成します。
拡張モード
最初の引数として範囲マスク (タプル) を受け取り、そのほかの引数として最大 2 つの符号なし整数を
受け取ります。マスク内の各数値は、対応する引数を左にシフトするビット数を指定し、
その範囲内で引数を実質的にスケーリングします。
範囲の拡張は、範囲 (またはカーディナリティ) が大きく異なる引数に対して、
似た分布が必要な場合に役立ちます。たとえば、‘IP Address’ (0...FFFFFFFF)
と ‘Country code’ (0...FF) のような場合です。encode 関数と同様に、指定できる
数値は最大 8 個までです。
構文
tuple_size—2以下の整数値。UInt8/16/32/64またはTuple(UInt8/16/32/64)code— コードを表すUInt64値。UInt64
Tuple(UInt64)
例
シンプルモード
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
導入バージョン: v24.6.0 符号なし整数のリストに対する Hilbert Curve のコードを計算します。 この関数には、2 つの動作モードがあります。- シンプル
- 拡張
args— 最大2つのUInt型の値、またはUInt型のカラム。UInt8/16/32/64range_mask— 拡張モードでは、最大2つのUInt型の値、またはUInt型のカラム。UInt8/16/32/64
UInt64 型のコードを返します。UInt64
例
シンプルモード
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
導入バージョン: v24.6.0 Morton 符号化 (ZCurve) を、対応する符号なし整数のタプルにデコードします。mortonEncode 関数と同様に、この関数には 2 つの動作モードがあります。
- シンプル
- 拡張
1- 縮小なし2- 2 倍に縮小3- 3 倍に縮小 ⋮- 最大 8 倍まで縮小。
(0...FFFFFFFF)
と ‘Country code’ (0...FF) のような場合です。encode 関数と同様に、指定できる数値は
最大 8 個までに制限されています。
構文
tuple_size— 8 以下の整数値。UInt8/16/32/64range_mask— 拡張モードでは、各引数に対するマスクです。マスクは符号なし整数のタプルです。マスク内の各数値は、範囲の縮小量を設定します。Tuple(UInt8/16/32/64)code— デコード対象の Morton コード (mortonEncodeによって生成されたもの)。入力の定義域となるのは下位N * intDiv(64, N)ビットのみです (Nは結果のタプルサイズ)。これより大きいコードに対する結果は未規定であり、ビルドによって異なる場合があります。UInt64
Tuple(UInt64)
例
シンプルモード
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
導入バージョン: v24.6.0 符号なし整数のリストの Morton 符号化 (ZCurve) を計算します。 この関数には 2 つの動作モードがあります。- シンプル
- 拡張*
UInt64 のコードを生成します。
拡張モード
最初の引数として範囲マスク (Tuple) を受け取り、
そのほかの引数として最大 8 個の 符号なし整数 を受け取ります。
マスク内の各数値は、範囲をどの程度拡張するかを指定します。
- 1 - 拡張なし
- 2 - 2 倍に拡張
- 3 - 3 倍に拡張 ⋮
- 最大 8 倍まで拡張。
args— 前述の型の符号なし整数、またはその型のカラムを最大 8 個まで指定できます。UInt8/16/32/64range_mask— 拡張モードで使用する、各引数に対応するマスクです。マスクは1-8の符号なし整数からなるタプルです。マスク内の各数値は、範囲の縮小量を設定します。Tuple(UInt8/16/32/64)
UInt64 のコードを返します。 UInt64
例
シンプルモード
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
導入バージョン: v24.1.0 sqid を数値の配列にデコードします。 構文sqid— デコードするsqid。String
sqid から数値の配列を返します。Array(UInt64)
例
使用例
Query
Response
sqidEncode
導入バージョン: v24.1.0 数値を、YouTube のような ID 文字列である sqid に変換します。 構文sqid
引数
n1[, n2, ...]— 任意の個数の数値。UInt8/16/32/64
String を返します
例
使用例
Query
Response
unbin
導入バージョン: v21.8.0 (引数内の) 2 進数の各桁の組を数値として解釈し、その数値が表すバイトに変換します。この関数はbin とは逆の操作を行います。
数値引数に対しては、unbin() は bin() の逆変換を返しません。結果を数値に変換したい場合は、reverse 関数と reinterpretAs<Type> 関数を使用できます。
clickhouse-client 内から unbin を呼び出した場合、バイナリ文字列は UTF-8 として表示されます。0 と 1 の 2 進数のみをサポートします。2 進数の桁数は 8 の倍数である必要はありません。引数文字列に 2 進数以外の文字が含まれている場合、
結果は未定義です (例外はスローされません)。
構文
arg— 0 と 1 からなる任意の長さの文字列。String
String
例
基本的な使い方
Query
Response
Query
Response
unhex
導入バージョン: v1.1.0hex とは逆の操作を行います。引数内の 16 進数の各 2 桁を 1 つの数値として解釈し、
その数値が表すバイトに変換します。戻り値はバイナリ文字列 (BLOB) です。
結果を数値に変換したい場合は、reverse 関数と reinterpretAs<Type> 関数を使用できます。
clickhouse-client は文字列を UTF-8 として解釈します。
そのため、hex が返す値が想定外の形で表示されることがあります。A-F の両方をサポートしています。
16 進数の桁数は偶数である必要はありません。
奇数の場合、最後の 1 桁は 00-0F バイトの下位 4 ビットとして解釈されます。
引数の文字列に 16 進数以外の文字が含まれている場合、実装依存の結果が返されます (例外はスローされません)。
数値引数に対しては、hex(N) の逆変換は unhex() では行われません。
構文
arg— 任意個の16 進数を含む文字列。StringまたはFixedString
String
例
基本的な使い方
Query
Response
Query
Response