Para uma entrada STRING ou BINARY, esta função retorna um array BIGINT. O array contém o code point Unicode de cada caractere ou o valor ASCII de cada byte do valor de entrada.
Sintaxe
ARRAY CODEPOINT_ARRAY(STRING|BINARY|CHAR|VARCHAR <str>)
Parâmetros
str: Obrigatório. Um valor do tipo STRING, BINARY, CHAR ou VARCHAR.
Valor de retorno
Retorna um valor do tipo ARRAY<BIGINT>. Aplicam-se as seguintes regras:
Se str for STRING, CHAR ou VARCHAR, cada elemento do array retornado será um code point. Cada code point estará no intervalo de
[0, 0xD7FF]ou[0xE000, 0x10FFFF].Se str for BINARY, cada elemento do array retornado será um valor ASCII estendido no intervalo de
[0, 255].Se str não for STRING, BINARY, CHAR ou VARCHAR, ou se str for NULL, a função retornará um erro.
Exemplos
-- Returns [102,111,111].
SELECT CODEPOINT_ARRAY('foo');
-- Returns [102,111,111].
SELECT CODEPOINT_ARRAY(CAST('foo' AS CHAR(20)));
--Returns [104,101,108,108,111].
SELECT CODEPOINT_ARRAY(CAST('hello' AS VARCHAR(6500)));
-- Returns [102,111,111].
SELECT CODEPOINT_ARRAY(CAST('foo' AS BINARY));
-- An error is returned. 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);
Funções relacionadas
CODEPOINT_ARRAY é uma função de string. Para obter mais informações sobre funções que pesquisam strings e convertem formatos de string, consulte String Functions Overview.