JSON_SIZE 関数 - Amazon Redshift

JSON_SIZE 関数

JSON_SIZE 関数は、文字列にシリアル化されたときに、指定した SUPER 式のバイト数を返します。

構文

JSON_SIZE(super_expression)

引数

super_expression

SUPER 定数または式。

戻り型

INTEGER

JSON_SIZE 関数は、入力文字列のバイト数を示す INTEGER を返します。この値は文字数とは異なります。例えば、UTF-8 文字「⬤」(黒いドット) のサイズは、1 文字ですが 3 バイトです。

使用に関する注意事項

JSON_SIZE (x) は、機能的には OCTET_LENGTH (JSON_SERIALIZE) と同じです。ただし、指定された SUPER 式がシリアル化時にシステムの VARCHAR 制限を超える場合、JSON_SERIALIZE はエラーを返すことに注意してください。JSON_SIZE にはこの制限はありません。

文字列にシリアル化された SUPER 値の長さを返すには、次の例を使用します。

SELECT JSON_SIZE(JSON_PARSE('[10001,10002,"⬤"]')); +-----------+ | json_size | +-----------+ | 19 | +-----------+

指定された SUPER 式の長さは 17 文字ですが、「⬤」は 3 バイトの文字なので、JSON_SIZE は 19 を返すことに注意してください。