STRING または BINARY 入力の場合、この関数は BIGINT 配列を返します。この配列には、入力値の各文字の Unicode コードポイント、または各バイトの ASCII 値が含まれます。
構文
ARRAY CODEPOINT_ARRAY(STRING|BINARY|CHAR|VARCHAR <str>)パラメーター
str: 必須。STRING、BINARY、CHAR、または VARCHAR 型の値。
戻り値
ARRAY<BIGINT> 型の値を返します。次のルールが適用されます。
str が STRING、CHAR、または VARCHAR の場合、返される配列の各要素は コードポイント です。各コードポイントの有効値は
[0, 0xD7FF]または[0xE000, 0x10FFFF]です。str が BINARY の場合、返される配列の各要素は、有効値
[0, 255]の拡張 ASCII 値です。str が STRING、BINARY、CHAR、または VARCHAR ではない場合、または str が 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 は文字列関数です。文字列を検索し、文字列フォーマットを変換する関数の詳細については、「文字列関数」をご参照ください。