日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

可變長二進制函數

更新時間:

可變長二進制函數用于處理二進制數據類型(如BINARY、VARBINARY、BLOB等),比如加解密、提取子串、計算長度等。本文介紹云原生數據倉庫 AnalyticDB MySQL 版可變長二進制函數的用法與示例。

  • AES_DECRYPT:使用AES算法進行數據解密。

  • AES_DECRYPT_MY:使用AES算法進行數據解密。

  • AES_ENCRYPT:使用AES算法進行數據加密。

  • AES_ENCRYPT_MY:使用AES算法進行數據加密。

  • CHAR_LENGTH:以字符為單位返回字符串的長度。

  • COMPRESS:壓縮字符串X并將結果作為二進制字符串返回。

  • CRC32:返回參數x的循環冗余碼。

  • ENCRYPT:對字符串進行加密。

  • FROM_BASE64:解碼BASE64編碼的字符串并返回結果。

  • GUNZIP:基于GZIP格式解壓二進制字符串X,返回解壓后的二進制字符串。

  • GZIP:基于GZIP格式壓縮二進制字符串X,并將結果作為二進制字符串返回。

  • HEX:將字符串或數字轉換為十六進制形式,并返回結果。

  • LEFT:返回字符串最左邊的`y`個字符。

  • LENGTH:以字節為單位返回參數的長度。

  • LOWER:返回參數的小寫形式。

  • LPAD:左拼接字符串。

  • LTRIM:移除字符串左邊的空白字符。

  • MD5:計算參數MD5的hash值。

  • ORD:如果字符串最左邊的字符是多字節字符,則返回該字符的代碼。

  • REPEAT:返回重復指定次數的字符串。

  • REVERSE:反轉字符串中的字符。

  • RIGHT:返回字符串最右邊的`y`個字符。

  • RPAD:右拼接字符串。

  • RTRIM:移除字符串右邊的空白字符。

  • SHA1:計算字符串的SHA-1校驗和。

  • SHA2:計算SHA-2校驗和。

  • SUBSTR:返回指定子字符串。

  • TO_BASE64:返回字符串的BASE64編碼形式。

  • TRIM:移除字符串左右兩邊的空白字符。

  • UNCOMPRESS:解壓縮由COMPRESS()函數壓縮的字符串。

  • UNCOMPRESSED_LENGTH:在壓縮之前返回一個字符串的長度。

  • UNHEX:將參數中的每對字符轉換為十六進制形式,再將其轉換為數字表示的字節,最后以二進制字符串形式返回結果。

  • UNZIP:基于ZIP格式解壓二進制字符串X,返回解壓后的二進制字符串。

  • UPPER:返回參數的大寫形式。

  • ZIP:基于ZIP格式壓縮二進制字符串X,并將結果作為二進制字符串返回。

注意事項

部分函數因不同客戶端解析的編碼不同,可能會出現返回值不一樣,會將“中國”解析為"0xE4B8ADE59BBD"。本文中的所有示例的返回結果均以DMS中的結果為例。

AES_DECRYPT

AES_DECRYPT(VARBINARY X, VARCHAR Y)
  • 命令說明:使用AES算法解密XY為密鑰。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('中國' AS VARBINARY), '0123'),'0123'));

    返回結果如下:

    +-----------------------------------------------------------------------------+
    | HEX(AES_DECRYPT(AES_ENCRYPT(CAST('中國' AS VARBINARY), '0123'),'0123'))     |
    +-----------------------------------------------------------------------------+
    | E4B8ADE59BBD                                                                |
    +-----------------------------------------------------------------------------+

AES_DECRYPT_MY

重要
  • AES_DECRYPT_MY函數兼容MySQL,MySQL中加密的數據可以在AnalyticDB for MySQL中解密。

  • 僅3.1.10.0及以上內核版本的集群支持使用AES_DECRYPT_MY函數解密數據。

    查看企業版基礎版湖倉版集群的內核版本,請執行SELECT adb_version();。如需升級內核版本,請聯系技術支持。

    查看和升級數倉版集群的內核版本,請參見查看和升級版本

AES_DECRYPT_MY(VARBINARY X, VARCHAR Y)
  • 命令說明:使用AES算法解密XY為密鑰。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT CAST(AES_DECRYPT_MY(UNHEX('788B49C1BD46F563FC7464F50216539F'),'key_string') AS CHAR);

    返回結果如下:

    +----------------------------------------------------------------------------------------+
    | CAST(AES_DECRYPT_MY(UNHEX('788B49C1BD46F563FC7464F50216539F'),'key_string') AS CHAR)   |
    +----------------------------------------------------------------------------------------+
    | 中國                                                                                   |
    +----------------------------------------------------------------------------------------+

AES_ENCRYPT

AES_ENCRYPT(VARBINARY X, VARCHAR Y)
  • 命令說明:使用AES算法加密XY為密鑰。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT HEX(AES_ENCRYPT(CAST('中國' AS VARBINARY), '0123'));

    返回結果如下:

    +-------------------------------------------------------+
    |HEX(AES_ENCRYPT(CAST('中國' AS VARBINARY), '0123'))    |
    +-------------------------------------------------------+
    | DFB166F0A03113AA848C0CE545D58757                      | 
    +-------------------------------------------------------+

AES_ENCRYPT_MY

重要
  • AES_ENCRYPT_MY函數兼容MySQL,AnalyticDB for MySQL中加密的數據可以在MySQL中解密。

  • 僅3.1.10.0及以上內核版本的集群支持使用AES_ENCRYPT_MY函數加密數據。

    查看企業版基礎版湖倉版集群的內核版本,請執行SELECT adb_version();。如需升級內核版本,請聯系技術支持。

    查看和升級數倉版集群的內核版本,請參見查看和升級版本

AES_ENCRYPT_MY(VARBINARY X, VARCHAR Y)
  • 命令說明:使用AES算法加密XY為密鑰。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT HEX(AES_ENCRYPT_MY('中國','key_string'));

    返回結果如下:

    +----------------------------------------------+
    |HEX(AES_ENCRYPT_MY('中國', 'key_string'))     |
    +----------------------------------------------+
    | 788B49C1BD46F563FC7464F50216539F             | 
    +----------------------------------------------+

CHAR_LENGTH

CHAR_LENGTH(VARBINARY X)
  • 命令說明:以字符為單位返回字符串X的長度。

  • 返回值類型:LONG

  • 示例:

    SELECT CHAR_LENGTH(CAST('ABC' AS VARBINARY));

    返回結果如下:

    +---------------------------------------+
    | CHAR_LENGTH(CAST('ABC' AS VARBINARY)) |
    +---------------------------------------+
    |3                                      | 
    +---------------------------------------+

COMPRESS

COMPRESS(VARBINARY X)          
  • 命令說明:壓縮字符串X并將結果作為二進制字符串返回。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT COMPRESS(COMPRESS(CAST('中國' AS VARBINARY)));

    返回結果:

    +--------------------------------------------+
    | HEX(COMPRESS(CAST('中國' AS VARBINARY)))   |
    +--------------------------------------------+
    | 06000000789C7BB263EDD3D97B01104C0487       |  
    +--------------------------------------------+

CRC32

CRC32(VARBINARY X)        
  • 命令說明:返回參數X的循環冗余碼。

  • 返回值類型:LONG

  • 示例:

    SELECT CRC32(CAST('中國' AS VARBINARY));

    返回結果:

    +------------------------------------+
    | CRC32(CAST('中國' AS VARBINARY))   |
    +------------------------------------+
    |737014929                           |  
    +------------------------------------+

ENCRYPT

ENCRYPT(VARBINARY X, VARCHAR Y)
  • 命令說明:對參數X進行加密,Y為Salt值。

  • 返回值類型:BLOB

  • 示例:

    SELECT ENCRYPT('ABDABC123','KEY');

    返回結果如下:

    +-----------------------------+
    | ENCRYPT('ABDABC123','KEY')  |
    +-----------------------------+
    | kezazmcIo.aCw               |
    +-----------------------------+

FROM_BASE64

FROM_BASE64(VARBINARY X)
  • 命令說明:解碼BASE64編碼的字符串X并返回結果。

  • 返回值類型:BLOB

  • 示例:

    SELECT FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY)));

    返回結果如下:

    +--------------------------------------------------+
    | FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY))) |
    +--------------------------------------------------+
    | abc                                              |
    +--------------------------------------------------+

GUNZIP

重要

僅3.1.9.3及以上內核版本的集群支持使用GUNZIP函數。

查看企業版基礎版湖倉版集群的內核版本,請執行SELECT adb_version();。如需升級內核版本,請聯系技術支持。

查看和升級數倉版集群的內核版本,請參見查看和升級版本

GUNZIP(VARBINARY X)
  • 命令說明:基于GZIP格式解壓二進制字符串X,返回解壓后的二進制字符串。

  • 返回值類型:VARBINARY。

  • 示例:

    SELECT GUNZIP(GZIP(CAST('中國' AS VARBINARY)));

    返回結果如下:

    +--------------------------------------------+
    | GUNZIP(GZIP(CAST('中國' AS VARBINARY)))    |
    +--------------------------------------------+
    | 中國                                       |  
    +--------------------------------------------+

GZIP

重要

僅3.1.9.3及以上內核版本的集群支持使用GZIP函數。

查看企業版基礎版湖倉版集群的內核版本,請執行SELECT adb_version();。如需升級內核版本,請聯系技術支持。

查看和升級數倉版集群的內核版本,請參見查看和升級版本

GZIP(VARBINARY X)
  • 命令說明:基于GZIP格式壓縮二進制字符串X,并將結果作為二進制字符串返回。

  • 返回值類型:VARBINARY。

  • 示例:

    SELECT HEX(GZIP(CAST('中國' AS VARBINARY)));

    返回結果如下:

    +------------------------------------------------------+
    | HEX(GZIP(CAST('中國' AS VARBINARY)))                |
    +------------------------------------------------------+
    |1F8B08000000000000007BB263EDD3D97B0191F4ED2B06000000  | 
    +------------------------------------------------------+

HEX

HEX(VARBINARY X)
  • 命令說明:將字符串X或數字轉換為十六進制格式的字符串。

  • 返回值類型:VARCHAR

  • 示例:

    SELECT HEX(CAST('中國' AS VARBINARY));

    返回結果如下:

    +----------------------------------+
    | HEX(CAST('中國' AS VARBINARY))   |
    +----------------------------------+
    | E4B8ADE59BBD                     |  
    +----------------------------------+

LEFT

LEFT(VARBINARY X, BIGINT Y)
LEFT(VARBINARY X, DOUBLE Y)
  • 命令說明:返回字符串X最左邊的Y個字符。

  • 返回值類型:BLOB

  • 示例:

    SELECT LEFT(CAST('中國' AS VARBINARY),1000);

    返回結果如下:

    +-----------------------------------------+
    | LEFT(CAST('中國' AS VARBINARY), 1000)   |
    +-----------------------------------------+
    | 中國                                    | 
    +-----------------------------------------+

LENGTH

LENGTH(VARBINARY X)        
  • 命令說明:以字節為單位返回參數X的長度。

  • 返回值類型:LONG

  • 示例:

    SELECT LENGTH(CAST('ABC' AS VARBINARY));

    返回結果如下

     +----------------------------------+
     | LENGTH(CAST('ABC' AS VARBINARY)) |
     +----------------------------------+
     | 3                                |   
     +----------------------------------+

LOWER

LOWER(VARBINARY X)       
  • 命令說明:返回參數X的小寫形式。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT LOWER(CAST('ABC' AS VARBINARY));

    返回結果如下:

    +---------------------------------+
    | LOWER(CAST('ABC' AS VARBINARY)) |
    +---------------------------------+
    | abc                             | 
    +---------------------------------+

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                                 | 
    +------------------------------------------------+

LTRIM

LTRIM(VARBINARY X)       
  • 命令說明:移除字符串X左邊的空白字符。

  • 返回值類型:BLOB

  • 示例:

    SELECT LTRIM(CAST('  中國  ' AS VARBINARY));

    返回結果如下:

    +----------------------------------------+
    | LTRIM(CAST('  中國  ' AS VARBINARY))   |
    +----------------------------------------+
    | 中國                                   |  
    +----------------------------------------+

MD5

MD5(VARBINARY X)          
  • 命令說明:返回參數XMD5的hash值。

  • 返回值類型:VARCHAR

  • 示例:

    SELECT MD5(CAST('中國' AS VARBINARY));

    返回結果如下:

    +----------------------------------+
    | MD5(CAST('中國' AS VARBINARY))   |
    +----------------------------------+
    | c13dceabcb143acd6c9298265d618a9f |  
    +----------------------------------+

ORD

ORD(VARBINARY X)         
  • 命令說明:如果字符串X最左邊的字符是多字節字符,則返回該字符的代碼。

  • 返回值類型:LONG

  • 示例:

    SELECT ORD(CAST('中國' AS VARBINARY));

    返回結果如下:

    +----------------------------------+
    | ORD(CAST('中國' AS VARBINARY))   |
    +----------------------------------+
    |228                               | 
    +----------------------------------+

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                              |
    +-------------------------------------------+

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                                         |
    +--------------------------------------------+

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                                       | 
    +--------------------------------------------------+

RTRIM

RTRIM(VARBINARY X)
  • 命令說明:移除字符串X右邊的空白字符。

  • 返回值類型:BLOB

  • 示例:

    SELECT RTRIM(CAST('  中國  ' AS VARBINARY));

    返回結果如下:

    +----------------------------------------+
    | RTRIM(CAST('  中國  ' AS VARBINARY))   |
    +----------------------------------------+
    |   中國                                 | 
    +----------------------------------------+

SHA1

SHA1(VARBINARY X)         
  • 命令說明:計算字符串X的SHA-1校驗和。

  • 返回值類型:VARCHAR

  • 示例:

    SELECT SHA1(CAST('中國' AS VARBINARY));

    返回結果如下:

    +------------------------------------------+
    | SHA1(CAST('中國' AS VARBINARY))          |
    +------------------------------------------+
    | 101806f57c322fb403a9788c4c24b79650d02e77 |  
    +------------------------------------------+

SHA2

SHA2(VARBINARY X, INTEGER Y)
SHA2(VARBINARY X, VARCHAR Y)
  • 命令說明:計算字符串XSHA-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 |
    +------------------------------------------------------------------+

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                                  |
      +---------------------------------------------+ 
    • SELECT HEX(SUBSTR(CAST('中國' AS VARBINARY), 2.7, 1.7));

      返回結果如下:

      +----------------------------------------------------+
      | HEX(SUBSTR(CAST('中國' AS VARBINARY), 2.7, 1.7))   |
      +----------------------------------------------------+
      | ADE5                                               |
      +----------------------------------------------------+
    • SELECT HEX(SUBSTR(CAST('China' AS VARBINARY), 2));

      返回結果如下:

      +---------------------------------------------+
      | HEX(SUBSTR(CAST('China' AS VARBINARY), 2))  |
      +---------------------------------------------+
      | 68696E61                                    |
      +---------------------------------------------+ 
    • SELECT HEX(SUBSTR(CAST('China' AS VARBINARY), 2.7, 1.7));

      返回結果如下:

      +----------------------------------------------------+
      | HEX(SUBSTR(CAST('China' AS VARBINARY), 2.7, 1.7))  |
      +----------------------------------------------------+
      | 696E                                               |
      +----------------------------------------------------+

TO_BASE64

TO_BASE64(VARBINARY X)
  • 命令說明:返回字符串X的BASE64編碼形式。

  • 返回值類型:VARCHAR

  • 示例:

    SELECT TO_BASE64(CAST('中國' AS VARBINARY));

    返回結果如下:

    +----------------------------------------+
    | TO_BASE64(CAST('中國' AS VARBINARY))   |
    +----------------------------------------+
    | 5Lit5Zu9                               |
    +----------------------------------------+

TRIM

TRIM(VARBINARY X)
  • 命令說明:移除字符串X左右兩邊的空白字符。

  • 返回值類型:BLOB

  • 示例:

    SELECT TRIM(CAST('  中國  ' AS VARBINARY));

    返回結果如下:

    +---------------------------------------+
    | TRIM(CAST('  中國  ' AS VARBINARY))   |
    +---------------------------------------+
    | 中國                                  | 
    +---------------------------------------+

UNCOMPRESS

UNCOMPRESS(VARBINARY X)           
  • 命令說明:解壓縮XCOMPRESS()函數壓縮的字符串。

  • 返回值類型:BLOB

  • 示例:

    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                                                          |
    +------------------------------------------------------------+

UNHEX

UNHEX(VARBINARY X)         
  • 命令說明:將參數X中的每對字符解釋為十六進制數,并將其轉換為數字表示的字節,以二進制字符串將其返回。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT UNHEX(CAST('中國' AS VARBINARY));

    返回結果如下:

    +------------------------------------+
    | UNHEX(CAST('中國' AS VARBINARY))   |
    +------------------------------------+
    | NULL                               | 
    +------------------------------------+

UNZIP

重要

僅3.1.9.3及以上內核版本的集群支持使用UNZIP函數。

查看企業版基礎版湖倉版集群的內核版本,請執行SELECT adb_version();。如需升級內核版本,請聯系技術支持。

查看和升級數倉版集群的內核版本,請參見查看和升級版本

UNZIP(VARBINARY X)
  • 命令說明:基于ZIP格式解壓二進制字符串X,返回解壓后的二進制字符串。

  • 返回值類型:VARBINARY。

  • 示例:

    SELECT UNZIP(ZIP(CAST('中國' AS VARBINARY)));

    返回結果如下:

    +---------------------------------------+
    | UNZIP(ZIP(CAST('中國' AS VARBINARY))) |
    +---------------------------------------+
    | 中國                                  | 
    +---------------------------------------+

UPPER

UPPER(VARBINARY X)        
  • 命令說明:返回參數X的大寫形式。

  • 返回值類型:VARBINARY

  • 示例:

    SELECT UPPER(CAST('abc' AS VARBINARY));

    返回結果如下:

    +---------------------------------+
    | UPPER(CAST('abc' AS VARBINARY)) |
    +---------------------------------+
    | ABC                             | 
    +---------------------------------+

ZIP

重要

僅3.1.9.3及以上內核版本的集群支持使用ZIP函數。

查看企業版基礎版湖倉版集群的內核版本,請執行SELECT adb_version();。如需升級內核版本,請聯系技術支持。

查看和升級數倉版集群的內核版本,請參見查看和升級版本

ZIP(VARBINARY X)
  • 命令說明:基于ZIP格式壓縮二進制字符串X,并將結果作為二進制字符串返回。

  • 返回值類型:VARBINARY。

  • 示例:

    SELECT UNZIP(ZIP(CAST('中國' AS VARBINARY)));

    返回結果如下:

    +---------------------------------------+
    | UNZIP(ZIP(CAST('中國' AS VARBINARY))) |
    +---------------------------------------+
    | 中國                                  | 
    +---------------------------------------+