全部產品
Search
文件中心

MaxCompute:CODEPOINT_ARRAY

更新時間:Aug 05, 2025

對於STRING或BINARY類型的輸入值,返回一個BIGINT類型的數組,表示輸入值中每個字元/位元組的Unicode碼位(code points)或ASCII字元。

命令格式

ARRAY CODEPOINT_ARRAY(STRING|BINARY|CHAR|VARCHAR <str>)

參數說明

str:必填,STRING、BINARY、CHAR或VARCHAR類型。待轉換參數值。

傳回值說明

返回ARRAY<BIGINT>類型。返回規則如下:

  • 若str是STRING、CHAR或VARCHAR類型,則返回數組中的每個元素代表一個 code point。每個代碼點介於[0, 0xD7FF]和[0xE000, 0x10FFFF]範圍內。

  • 若str為BINARY類型,則返回數組中每個元素都是一個擴充ASCII字元值,範圍是[0, 255]。

  • 若str非STRING、BINARY、CHAR或VARCHAR類型,或為NULL時,返回報錯。

使用樣本

-- 返回[102,111,111]
SELECT CODEPOINT_ARRAY('foo');

-- 返回[102,111,111]
SELECT CODEPOINT_ARRAY(CAST('foo' AS CHAR(20)));

--返回 [104,101,108,108,111]
SELECT CODEPOINT_ARRAY(CAST('hello' AS VARCHAR(6500)));

-- 返回[102,111,111]
SELECT CODEPOINT_ARRAY(CAST('foo' AS BINARY));

-- 返回報錯FAILED: ODPS-0130071:[1,8] Semantic analysis exception - function CODEPOINT_ARRAY is ambiguous with (VOID), candidates are ARRAY<BIGINT> CODEPOINT_ARRAY(BINARY arg0); ARRAY<BIGINT> CODEPOINT_ARRAY(CHAR(255) arg0); ARRAY<BIGINT> CODEPOINT_ARRAY(STRING arg0); ARRAY<BIGINT> CODEPOINT_ARRAY(VARCHAR(65535) arg0
SELECT CODEPOINT_ARRAY(null); 

相關函數

CODEPOINT_ARRAY函數屬於字串函數,更多尋找字串、轉換字串格式的相關函數請參見字串函數。