本文介紹二進位函數的基本文法及樣本。
Log Service支援如下二進位函數。
-
在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status或"status"表示日誌欄位status。
-
varbinary類型是二進位字元類型,varchar類型是可變長度字元類型。
|
函數名稱 |
文法 |
說明 |
支援SQL |
支援SPL |
|
from_base64(x) |
將BASE64編碼的字串解碼為二進位類型的資料。 |
√ |
√ |
|
|
from_base64url(x) |
使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。 |
√ |
× |
|
|
from_big_endian_64(x) |
將大端模式的二進位類型的資料轉化成數字。 |
√ |
× |
|
|
from_hex(x) |
將十六進位類型的資料轉化成二進位類型的資料。 |
√ |
√ |
|
|
length(x) |
計算二進位類型的資料的長度。 |
√ |
× |
|
|
md5(x) |
對二進位類型的資料進行MD5編碼。 |
√ |
√ |
|
|
to_base64(x) |
對二進位類型的資料進行BASE64編碼。 |
√ |
√ |
|
|
to_base64url(x) |
使用URL安全字元將二進位類型的資料進行BASE64編碼。 |
√ |
× |
|
|
to_hex(x) |
將二進位類型的資料轉化成十六進位類型的資料。 |
√ |
√ |
|
|
to_big_endian_64(x) |
將數字轉化為大端模式的二進位類型的資料。 |
√ |
× |
|
|
sha1(x) |
對二進位類型的資料進行SHA1加密。 |
√ |
√ |
|
|
sha256(x) |
對二進位類型的資料進行SHA256加密。 |
√ |
√ |
|
|
sha512(x) |
對二進位類型的資料進行SHA512加密。 |
√ |
√ |
|
|
xxhash64(x) |
對二進位類型的資料進行xxHash64加密。 |
√ |
√ |
from_base64函數
from_base64函數用於將BASE64編碼的字串解碼為二進位類型的資料。
文法
from_base64(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varbinary類型。
varbinary類型存在不可見字元,返回結果仍以BASE64編碼格式展示。
-
如果傳回值是二進位類型的不可見字元,則您可以使用to_hex函數將其轉換為十六進位類型的資料。
-
如果傳回值是二進位類型的可見字元,則您可以使用from_utf8函數將其轉換為UTF-8字串。
樣本
將BASE64編碼的字串解碼為二進位類型的資料後,再轉換為十六進位類型的資料。
-
查詢和分析語句
* | SELECT to_hex(from_base64('c2xz')) -
查詢和分析結果:查詢返回結果 _col0 列的值為
736C73。
from_base64url函數
from_base64url函數使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。
文法
from_base64url(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varbinary類型。
varbinary類型存在不可見字元,返回結果仍以BASE64編碼格式展示。
-
如果傳回值是二進位類型的不可見字元,則您可以使用to_hex函數將其轉換為十六進位類型的資料。
-
如果傳回值是二進位類型的可見字元,則您可以使用from_utf8函數將其轉換為UTF-8字串。
樣本
使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。
-
查詢和分析語句
* | SELECT to_hex(from_base64url('c2xz')) -
查詢和分析結果:查詢返回結果 _col0 列的值為
736C73。
from_big_endian_64函數
from_big_endian_64函數用於將大端模式的二進位類型的資料轉化成數字。
文法
from_big_endian_64(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
bigint類型。
樣本
將大端模式的二進位類型的資料(10)轉化成數字。
-
查詢和分析語句
* | SELECT from_big_endian_64(to_big_endian_64(10)) -
查詢和分析結果為
10。
from_hex函數
from_hex函數將十六進位類型的資料轉化成二進位類型的資料。
文法
from_hex(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為varbinary類型。 |
傳回值類型
varbinary類型。
樣本
將十六進位類型的資料(D74D)轉換為二進位類型的資料。
-
查詢和分析語句
* | SELECT from_hex('D74D') -
查詢和分析結果:
_col0列的值為100=。
length函數
length函數用於計算二進位類型的資料的長度。
文法
length(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
bigint類型。
樣本
計算region欄位值的長度。
-
查詢和分析語句
* | SELECT length('00101000') -
查詢和分析結果傳回值為
8,即字串00101000的長度。
md5函數
md5函數用於對二進位類型的資料進行MD5編碼。
文法
md5(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為varbinary類型。 |
傳回值類型
varbinary類型。
樣本
對二進位類型的資料(1101)進行MD5編碼。
-
查詢和分析語句
* | SELECT MD5(from_base64('1101')) AS md5 -
查詢和分析結果:md5的值為
rG3lOanun9N57opubMnPDw==。
to_base64函數
to_base64函數用於對二進位類型的資料進行BASE64編碼。
文法
to_base64(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varchar類型。
樣本
對二進位類型的資料(10)進行BASE64編碼。
-
查詢和分析語句
* | SELECT to_base64(from_base64('10')) AS base64 -
查詢和分析結果:base64列的值為
1w==。
to_base64url函數
to_base64url函數使用URL安全字元對二進位類型的資料進行BASE64編碼。
文法
to_base64url(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varchar類型。
樣本
使用URL安全字元對二進位類型的資料(100)進行BASE64編碼。
-
查詢和分析語句
* | SELECT to_base64url(from_base64('100')) -
查詢和分析結果

to_hex函數
to_hex函數用於將二進位類型的資料轉化成十六進位類型的資料。
文法
to_hex(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varchar類型。
樣本
將二進位類型的資料(100)轉化成十六進位類型的資料。
-
查詢和分析語句
* | SELECT to_hex(from_base64('100')) -
查詢和分析結果:
_col0列的值為D74D。
to_big_endian_64函數
to_big_endian_64函數用於將數字轉化為大端模式的二進位類型的資料。
文法
to_big_endian_64(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為bigint類型。 |
傳回值類型
varbinary類型。
樣本
將數字0轉換為大端模式的二進位類型的資料。
-
查詢和分析語句
* | SELECT to_big_endian_64(0) -
查詢和分析結果

sha1函數
sha1函數用於對二進位類型的資料進行SHA1加密。
文法
sha1(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varbinary類型。
樣本
對二進位類型的資料(1101)進行SHA1加密。
-
查詢和分析語句
* | SELECT sha1(from_base64('1101')) AS sha1 -
查詢和分析結果

sha256函數
sha256函數用於對二進位類型的資料進行SHA256加密。
文法
sha256(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varbinary類型。
樣本
對二進位類型的資料(1101)進行SHA256加密。
-
查詢和分析語句
* | SELECT sha256(from_base64('1101')) AS sha256 -
查詢和分析結果

sha512函數
sha512函數用於對二進位類型的資料進行SHA512加密。
文法
sha512(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varbinary類型。
樣本
對二進位類型的資料(1101)進行SHA512加密。
-
查詢和分析語句
* | SELECT sha512(from_base64('1101')) AS sha512 -
查詢和分析結果

xxhash64函數
xxhash64函數用於對二進位類型的資料進行xxHash64加密。
文法
xxhash64(x)
參數說明
|
參數 |
說明 |
|
x |
參數值為binary類型。 |
傳回值類型
varbinary類型。
樣本
對二進位類型的資料(10)進行xxhash64加密。
-
查詢和分析語句
* | SELECT xxhash64(from_base64('10')) -
查詢和分析結果
