全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:CODEPOINT_ARRAY

更新时间:Aug 04, 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函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数