ビット演算関数は、bigint 値に対してビット単位の AND、OR、XOR、NOT 演算、およびカウント操作を実行します。
Log Service は、次のビット演算関数をサポートしています。
分析文で文字列を使用する場合は、文字列を一重引用符 ('') で囲む必要があります。囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。たとえば、 'status' は「status」という文字列を示し、status または "status" は「status」というフィールドを示します。
|
関数名 |
構文 |
説明 |
SQL サポート |
SPL サポート |
|
bit_count(x, bits) |
x を bits ビットの整数として扱い、セットされたビット (1) の数を計算します。 |
√ |
√ |
|
|
bitwise_and(x, y) |
x と y に対してビット単位の AND 演算を実行します。 |
√ |
√ |
|
|
bitwise_not(x) |
x に対してビット単位の NOT 演算を実行します。 |
√ |
√ |
|
|
bitwise_or(x, y) |
x と y に対してビット単位の OR 演算を実行します。 |
√ |
√ |
|
|
bitwise_xor(x, y) |
x と y に対してビット単位の XOR 演算を実行します。 |
√ |
√ |
bit_count
x のセットビット (1 のビット) の数を計算します。
構文
bit_count(x, bits)
パラメーター
|
パラメーター |
説明 |
|
x |
bigint 型の値。 |
|
bits |
ビット数。例:64 |
戻り値のデータ型
bigint 型。
例
24 の 2 進数表現におけるセットされたビット数を計算します。
-
クエリ文
* | SELECT bit_count(24, 64) -
クエリは
2を返します。
bitwise_and
x と y に対してビット単位の AND 演算を実行します。
構文
bitwise_and(x, y)
パラメーター
|
パラメーター |
説明 |
|
x |
bigint 型の値。 |
|
y |
bigint 型の値。 |
戻り値のデータ型
bigint 型。
例
3 と 5 に対してビット単位の AND 演算を実行します。
-
クエリ文
* | SELECT bitwise_and(3, 5) -
クエリは、
_col0列で1を返します。
bitwise_not
x に対してビット単位の NOT 演算を実行します。
構文
bitwise_not(x)
パラメーター
|
パラメーター |
説明 |
|
x |
bigint 型の値。 |
戻り値のデータ型
bigint 型。
例
4 に対してビット単位の NOT 演算を実行します。
-
クエリ文
* | SELECT bitwise_not(4) -
クエリは、
_col0列で-5を返します。
bitwise_or
x と y に対してビット単位の OR 演算を実行します。
構文
bitwise_or(x, y)
パラメーター
|
パラメーター |
説明 |
|
x |
bigint 型の値。 |
|
y |
bigint 型の値。 |
戻り値のデータ型
bigint 型。
例
3 と 5 に対してビット単位の OR 演算を実行します。
-
クエリ文
* | SELECT bitwise_or(3, 5) -
クエリは
7を返します。
bitwise_xor
x と y に対してビット単位の XOR 演算を実行します。
構文
bitwise_xor(x, y)
パラメーター
|
パラメーター |
説明 |
|
x |
bigint 型の値。 |
|
y |
bigint 型の値。 |
戻り値のデータ型
bigint 型。
例
3 と 5 に対してビット単位の XOR 演算を実行します。
-
クエリ文
* | SELECT bitwise_xor(3, 5) -
クエリは
6を返します。