本文介紹位元運算函數的基本文法及樣本。
Log Service支援如下位元運算函數。
重要 在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status或"status"表示日誌欄位status。
函數名稱 | 文法 | 說明 | 支援SQL | 支援SPL |
bit_count(x, bits) | 統計x中1的個數。 | √ | √ | |
bitwise_and(x, y) | 以二進位形式對x和y進行與運算。 | √ | √ | |
bitwise_not(x) | 以二進位形式對x的所有位進行取反運算。 | √ | √ | |
bitwise_or(x, y) | 以二進位形式對x和y進行或運算。 | √ | √ | |
bitwise_xor(x, y) | 以二進位形式對x和y進行異或運算。 | √ | √ |
bit_count函數
bit_count函數用於統計x中1的個數。
文法
bit_count(x, bits)
參數說明
參數 | 說明 |
x | 參數值為bigint類型。 |
bits | 位元,例如64位。 |
傳回值類型
bigint類型。
樣本
計算數字24的位元,並返回其位元中1的個數。
查詢和分析語句
* | SELECT bit_count(24, 64)
查詢和分析結果
bitwise_and函數
bitwise_and函數以二進位形式對x和y進行與運算。
文法
bitwise_and(x, y)
參數說明
參數 | 說明 |
x | 參數值為bigint類型。 |
y | 參數值為bigint類型。 |
傳回值類型
bigint類型。
樣本
以二進位形式對數字3和5進行與運算。
查詢和分析語句
* | SELECT bitwise_and(3, 5)
查詢和分析結果
bitwise_not函數
bitwise_not函數以二進位的形式對x的所有位進行取反運算。
文法
bitwise_not(x)
參數說明
參數 | 說明 |
x | 參數值為bigint類型。 |
傳回值類型
bigint類型。
樣本
以二進位的形式對數字4的所有位進行取反運算。
查詢和分析語句
* | SELECT bitwise_not(4)
查詢和分析結果
bitwise_or函數
bitwise_or函數以二進位形式對x和y進行或運算。
文法
bitwise_or(x, y)
參數說明
參數 | 說明 |
x | 參數值為bigint類型。 |
y | 參數值為bigint類型。 |
傳回值類型
bigint類型。
樣本
以二進位形式對數字3和5進行或運算。
查詢和分析語句
* | SELECT bitwise_or(3, 5)
查詢和分析結果
bitwise_xor函數
bitwise_xor函數以二進位形式對x和y進行異或運算。
文法
bitwise_xor(x, y)
參數說明
參數 | 說明 |
x | 參數值為bigint類型。 |
y | 參數值為bigint類型。 |
傳回值類型
bigint類型。
樣本
以二進位形式對數字3和5進行異或運算。
查詢和分析語句
?1* | SELECT bitwise_xor(3, 5)
查詢和分析結果