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
を返すことに注意してください。