このトピックでは、ビットごとの関数の構文について説明します。 このトピックでは、関数の使用方法の例も示します。
次の表に、Simple Log Serviceでサポートされているビット単位の関数を示します。
分析ステートメントで文字列を使用する場合は、文字列を単一引用符 (')で囲む必要があります。 二重引用符 (") で囲まれていない、または囲まれている文字列は、フィールド名または列名を示します。 例えば、 'status' はステータスの文字列を示し、status または "status" はステータスログフィールドを示します。
関数 | 構文 | 説明 | SQLでサポート | SPLでサポート |
bit_count( x, bits) | バイナリ表現でxのビット数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関数
bit_count関数は、xのビット1の数をバイナリ表現で返します。
構文
bit_count(x, bits)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値はbigint型です。 |
ビット | このパラメータは、64ビットなどのビット数を指定します。 |
戻り値のデータ型
bigint型。
例
数24を2進数に変換し、2進数のビット数1を得る。
クエリ文
* | SELECT bit_count (24, 64)
クエリと分析結果
bitwise_and関数
bitwise_and関数は、xとyのビット単位のAND演算の結果をバイナリ表現で返します。
構文
bitwise_and(x, y)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値はbigint型です。 |
y | このパラメーターの値はbigint型です。 |
戻り値のデータ型
bigint型。
例
バイナリ表現で3と5のビット単位のAND演算を実行します。
クエリ文
* | SELECT bitwise_and(3, 5)
クエリと分析結果
bitwise_not関数
bitwise_not関数は、xに対するビット単位のNOT演算の結果をバイナリ表現で返します。
構文
bitwise_not(x)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値はbigint型です。 |
戻り値のデータ型
bigint型。
例
バイナリ表現で4に対してビット単位のNOT演算を実行します。
クエリ文
* | SELECT bitwise_not (4)
クエリと分析結果
bitwise_or関数
bitwise_or関数は、xとyのビットごとのOR演算の結果をバイナリ表現で返します。
構文
bitwise_or(x, y)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値はbigint型です。 |
y | このパラメーターの値はbigint型です。 |
戻り値のデータ型
bigint型。
例
バイナリ表現で3と5のビット単位のOR演算を実行します。
クエリ文
* | SELECT bitwise_or(3, 5)
クエリと分析結果
bitwise_xor関数
bitwise_xor関数は、xとyのビットごとのXOR演算の結果をバイナリ表現で返します。
構文
bitwise_xor(x, y)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値はbigint型です。 |
y | このパラメーターの値はbigint型です。 |
戻り値のデータ型
bigint型。
例
バイナリ表現で3と5に対してビット単位のXOR演算を実行します。
クエリ文
?1* | SELECT bitwise_xor(3, 5)
クエリと分析結果