可变长二进制函数
- LENGTH/OCTET_LENGTH:以字节为单位返回参数的长度。
- CHAR_LENGTH/CHARACTER_LENGTH:以字符为单位返回字符串的长度。
- ORD:如果字符串最左边的字符是多字节字符,则返回该字符的代码。
- HEX/TO_HEX:将字符串或数字转换为十六进制形式,并返回结果。
- UNHEX/FROM_HEX:将参数中的每对字符转换为十六进制形式,再将其转换为数字表示的字节,最后以二进制字符串形式返回结果。
- MD5:计算参数MD5的hash值。
- SHA/SHA1:计算字符串的SHA-1校验和。
- CRC32:计算参数的循环冗余码。
- LOWER/LCASE:返回参数的小写形式。
- UPPER/UCASE:返回参数的大写形式。
- LTRIM:移除字符串左边的空白字符。
- RTRIM:移除字符串右边的空白字符。
- TRIM:移除字符串左右两边的空白字符
- COMPRESS:压缩一个字符串并将结果作为二进制字符串返回。
- UNCOMPRESS:解压缩由COMPRESS()函数压缩的字符串。
- UNCOMPRESSED_LENGTH:在压缩之前返回一个字符串的长度。
- ENCRYPT:对字符串进行加密。
- AES_ENCRYPT:使用AES算法进行数据加密。
- AES_DECRYPT:使用AES算法进行数据解密。
- SUBSTR:返回指定子字符串。
- LEFT:返回字符串最左边的
y
个字符。 - RIGHT:返回字符串最右边的
y
个字符。 - REPEAT:返回重复指定次数的字符串。
- REVERSE:反转字符串中的字符。
- SHA2:计算SHA-2校验和。
- LPAD:左拼接字符串。
- RPAD:右拼接字符串。
- TO_BASE64:返回字符串的BASE64编码形式。
- FROM_BASE64:解码BASE64编码的字符串并返回结果。
LENGTH
length(varbinary x)
命令说明:以字节为单位返回参数
x
的长度。返回值类型:LONG
示例:
select length(CAST('abc' AS VARBINARY));
+----------------------------------+
| length(CAST('abc' AS varbinary)) |
+----------------------------------+
| 3 |
CHAR_LENGTH
char_length(varbinary x)
命令说明:以字符为单位返回字符串
x
的长度。返回值类型:LONG
示例:
select char_length(CAST('abc' AS VARBINARY));
+---------------------------------------+
| char_length(CAST('abc' AS varbinary)) |
+---------------------------------------+
| 3 |
ORD
ord(varbinary x)
命令说明:如果字符串
x
最左边的字符是多字节字符,则返回该字符的代码。返回值类型:LONG
示例:
select ord(CAST('中国' AS VARBINARY));
+----------------------------------+
| ord(CAST('中国' AS varbinary)) |
+----------------------------------+
| 228 |
HEX
hex(varbinary x)
命令说明:将字符串
x
或数字转换为十六进制格式的字符串。返回值类型:VARCHAR
示例:
select hex(CAST('中国' AS VARBINARY));
+----------------------------------+
| hex(CAST('中国' AS varbinary)) |
+----------------------------------+
| E4B8ADE59BBD |
UNHEX
unhex(varbinary x)
命令说明:将参数
x
中的每对字符解释为十六进制数,并将其转换为数字表示的字节,以二进制字符串将其返回。返回值类型:VARBINARY
示例:
select unhex(CAST('中国' AS VARBINARY));
+------------------------------------+
| unhex(CAST('中国' AS varbinary)) |
+------------------------------------+
| NULL |
MD5
md5(varbinary x)
命令说明:返回参数
x
MD5的hash值。返回值类型:VARCHAR
示例:
select md5(CAST('中国' AS VARBINARY));
+----------------------------------+
| md5(CAST('中国' AS varbinary)) |
+----------------------------------+
| c13dceabcb143acd6c9298265d618a9f |
SHA1
sha1(varbinary x)
命令说明:计算字符串
x
的SHA-1校验和。返回值类型:VARCHAR
示例:
select sha1(CAST('中国' AS VARBINARY));
+------------------------------------------+
| sha1(CAST('中国' AS varbinary)) |
+------------------------------------------+
| 101806f57c322fb403a9788c4c24b79650d02e77 |
CRC32
crc32(varbinary x)
命令说明:返回参数
x
的循环冗余码。返回值类型:LONG
示例:
select crc32(CAST('中国' AS VARBINARY));
+------------------------------------+
| crc32(CAST('中国' AS varbinary)) |
+------------------------------------+
| 737014929 |
LOWER
lower(varbinary x)
命令说明:返回参数
x
的小写形式。返回值类型:VARBINARY
示例:
select lower(CAST('ABC' AS VARBINARY));
+---------------------------------+
| lower(CAST('ABC' AS varbinary)) |
+---------------------------------+
| abc |
UPPER
upper(varbinary x)
命令说明:返回参数
x
的大写形式。返回值类型:VARBINARY
示例:
select upper(CAST('abc' AS VARBINARY));
+---------------------------------+
| upper(CAST('abc' AS varbinary)) |
+---------------------------------+
| ABC |
LTRIM
ltrim(varbinary x)
命令说明:移除字符串
x
左边的空白字符。返回值类型:VARBINARY
示例:
select ltrim(CAST(' 中国 ' AS VARBINARY));
+----------------------------------------+
| ltrim(CAST(' 中国 ' AS varbinary)) |
+----------------------------------------+
| 中国 |
RTRIM
rtrim(varbinary x)
命令说明:移除字符串
x
右边的空白字符。返回值类型:VARBINARY
示例:
select rtrim(CAST(' 中国 ' AS VARBINARY));
+----------------------------------------+
| rtrim(CAST(' 中国 ' AS varbinary)) |
+----------------------------------------+
| 中国 |
TRIM
trim(varbinary x)
命令说明:移除字符串
x
左右两边的空白字符。返回值类型:VARBINARY
示例:
select trim(CAST(' 中国 ' AS VARBINARY));
+---------------------------------------+
| trim(CAST(' 中国 ' AS varbinary)) |
+---------------------------------------+
| 中国 |
COMPRESS
compress(varbinary x)
命令说明:压缩字符串
x
并将结果作为二进制字符串返回。返回值类型:VARBINARY
示例:
select hex(compress(CAST('中国' AS VARBINARY)));
+--------------------------------------------+
| hex(compress(CAST('中国' AS varbinary))) |
+--------------------------------------------+
| 06000000789C7BB263EDD3D97B01104C0487 |
UNCOMPRESS
uncompress(varbinary x)
命令说明:解压缩
x
由COMPRESS()函数压缩的字符串。返回值类型:VARBINARY
示例:
select uncompress(compress(CAST('中国' AS VARBINARY)));
+---------------------------------------------------+
| uncompress(compress(CAST('中国' AS varbinary))) |
+---------------------------------------------------+
| 中国 |
UNCOMPRESSED_LENGTH
uncompressed_length(varbinary x)
命令说明:在压缩之前返回字符串
x
的长度。返回值类型:LONG
示例:
select uncompressed_length(compress(CAST('中国' AS VARBINARY)));
+------------------------------------------------------------+
| uncompressed_length(compress(CAST('中国' AS varbinary))) |
+------------------------------------------------------------+
| 6 |
ENCRYPT
encrypt(varbinary x, varchar y)
命令说明:对参数
x
进行加密,y
为Salt值。返回值类型:VARBINARY
示例:
select encrypt('abdABC123','key');
+-----------------------------+
| encrypt('abdABC123', 'key') |
+-----------------------------+
| kezazmcIo.aCw |
AES_ENCRYPT
aes_encrypt(varbinary x, varchar y)
命令说明:使用AES算法加密
x
,y
为密钥。返回值类型:VARBINARY
示例:
select HEX(aes_encrypt(CAST('中国' AS VARBINARY), '0123'));
+-------------------------------------------------------+
| HEX(aes_encrypt(CAST('中国' AS VARBINARY), '0123')) |
+-------------------------------------------------------+
| DFB166F0A03113AA848C0CE545D58757 |
AES_DECRYPT
aes_decrypt(varbinary x, varchar y)
命令说明:使用AES算法解密
x
,y
为密钥。返回值类型:VARBINARY
示例:
select aes_decrypt(aes_encrypt(CAST('中国' AS VARBINARY), '0123'),'0123');
+-----------------------------------------------------------------------+
| aes_decrypt(aes_encrypt(CAST('中国' AS varbinary), '0123'), '0123') |
+-----------------------------------------------------------------------+
| 中国 |
SUBSTR
substr(varbinary x, bigint y, double z)
substr(varbinary x, double y, double z)
substr(varbinary x, bigint y, bigint z)
substr(varbinary x, double y, bigint z)
substr(varbinary x, double y)
substr(varbinary x, bigint y)
命令说明:返回指定子字符串。
返回值类型:VARBINARY
示例:
select HEX(substr(CAST('中国' AS VARBINARY), 2));
+---------------------------------------------+
| HEX(substr(CAST('中国' AS VARBINARY), 2)) |
+---------------------------------------------+
| B8ADE59BBD |
+---------------------------------------------+
+----------------------------------------------------+
| HEX(substr(CAST('中国' AS VARBINARY), 2.7, 1.7)) |
+----------------------------------------------------+
| ADE5 |
+----------------------------------------------------+
LEFT
left(varbinary x, bigint y)
left(varbinary x, double y)
命令说明:返回字符串
x
最左边的y
个字符。返回值类型:VARBINARY
示例:
select left(CAST('中国' AS VARBINARY),1000);
+-----------------------------------------+
| LEFT(CAST('中国' AS VARBINARY), 1000) |
+-----------------------------------------+
| 中国 |
RIGHT
right(varbinary x, bigint y)
right(varbinary x, double y)
命令说明:返回字符串
x
最右边的y
个字符。返回值类型:VARBINARY
示例:
select HEX(right(CAST('中国' AS VARBINARY),1));
+--------------------------------------------+
| HEX(RIGHT(CAST('中国' AS VARBINARY), 1)) |
+--------------------------------------------+
| BD |
REPEAT
repeat(varbinary x, double y)
repeat(varbinary x, bigint y)
命令说明:返回重复指定次数
y
的字符串x
。返回值类型:VARBINARY
示例:
select HEX(repeat(CAST('中国' AS VARBINARY),1));
+---------------------------------------------+
| HEX(repeat(CAST('中国' AS VARBINARY), 1)) |
+---------------------------------------------+
| E4B8ADE59BBD |
REVERSE
reverse(varbinary x)
命令说明:反转字符串
x
中的字符。返回值类型:VARBINARY
示例:
select HEX(reverse(CAST('中国' AS VARBINARY)));
+-------------------------------------------+
| HEX(reverse(CAST('中国' AS VARBINARY))) |
+-------------------------------------------+
| BD9BE5ADB8E4 |
SHA2
sha2(varbinary x, integer y)
sha2(varbinary x, varchar y)
命令说明:计算字符串
x
SHA-2系列散列函数(SHA-224、SHA-256、SHA-384和SHA-512)。x
是要清理的明文字符串,y
表示结果所需的位数长度,其值必须为224、256、384、512或0。返回值类型:VARCHAR
示例:
select sha2(CAST('中国' AS VARBINARY),256);
+------------------------------------------------------------------+
| sha2(CAST('中国' AS varbinary), 256) |
+------------------------------------------------------------------+
| f0e9521611bb290d7b09b8cd14a63c3fe7cbf9a2f4e0090d8238d22403d35182 |
LPAD
lpad(varbinary x, bigint y, varchar z)
lpad(varbinary x, double y, varchar z)
命令说明:将字符串
x
左边拼接字符串z
直到长度达到y
,并返回拼接后的字符串。如果
x
长于y
,则返回值将缩短为y
个字符。返回值类型:VARBINARY
示例:
select HEX(lpad(CAST('中国' AS VARBINARY), 7,'-'));
+------------------------------------------------+
| HEX(lpad(CAST('中国' AS VARBINARY), 7, '-')) |
+------------------------------------------------+
| 2DE4B8ADE59BBD |
RPAD
rpad(varbinary x, bigint y, varchar z)
rpad(varbinary x, double y, varchar z)
命令说明:将字符串
x
右边拼接字符串z
直到长度达到y
,并返回拼接后的字符串。如果
x
长于y
,则返回值将缩短为y
个字符。返回值类型:VARBINARY
示例:
select HEX(rpad(CAST('中国' AS VARBINARY), 4.7,'x'));
+--------------------------------------------------+
| HEX(rpad(CAST('中国' AS VARBINARY), 4.7, 'x')) |
+--------------------------------------------------+
| E4B8ADE59B |
TO_BASE64
to_base64(varbinary x)
命令说明:返回字符串
x
的BASE64编码形式。返回值类型:VARCHAR
示例:
select to_base64(CAST('中国' AS VARBINARY));
+----------------------------------------+
| to_base64(CAST('中国' AS varbinary)) |
+----------------------------------------+
| 5Lit5Zu9 |
FROM_BASE64
from_base64(varbinary x)
命令说明:解码BASE64编码的字符串
x
并返回结果。返回值类型:VARBINARY
示例:
select from_base64(to_base64(CAST('abc' AS VARBINARY)));
+--------------------------------------------------+
| from_base64(to_base64(CAST('abc' AS varbinary))) |
+--------------------------------------------------+
| abc |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论