Untuk input STRING atau BINARY, fungsi ini mengembalikan array BIGINT yang berisi titik kode Unicode dari setiap karakter atau nilai ASCII dari setiap byte dalam nilai input.
Sintaksis
ARRAY CODEPOINT_ARRAY(STRING|BINARY|CHAR|VARCHAR <str>)Parameter
str: Wajib. Nilai bertipe STRING, BINARY, CHAR, atau VARCHAR.
Nilai kembali
Mengembalikan nilai bertipe ARRAY<BIGINT>. Aturan berikut berlaku:
Jika str adalah STRING, CHAR, atau VARCHAR, setiap elemen dalam array yang dikembalikan merupakan titik kode. Setiap titik kode berada dalam rentang
[0, 0xD7FF]atau[0xE000, 0x10FFFF].Jika str adalah BINARY, setiap elemen dalam array yang dikembalikan adalah nilai ASCII yang diperluas dalam rentang
[0, 255].Jika str bukan STRING, BINARY, CHAR, atau VARCHAR, atau jika str adalah NULL, fungsi akan mengembalikan kesalahan.
Contoh
-- Mengembalikan [102,111,111].
SELECT CODEPOINT_ARRAY('foo');
-- Mengembalikan [102,111,111].
SELECT CODEPOINT_ARRAY(CAST('foo' AS CHAR(20)));
-- Mengembalikan [104,101,108,108,111].
SELECT CODEPOINT_ARRAY(CAST('hello' AS VARCHAR(6500)));
-- Mengembalikan [102,111,111].
SELECT CODEPOINT_ARRAY(CAST('foo' AS BINARY));
-- Kesalahan dikembalikan. 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); Fungsi terkait
CODEPOINT_ARRAY adalah fungsi string. Untuk informasi lebih lanjut tentang fungsi yang mencari string dan mengonversi format string, lihat Fungsi String.