sql >> データベース >  >> RDS >> MariaDB

MariaDB JSON_QUOTE()の説明

    MariaDBでは、JSON_QUOTE() は、JSONドキュメントに含めることができる有効なJSON文字列リテラルを生成する組み込み関数です。

    文字列を二重引用符で囲み、内部引用符やその他の特殊文字をエスケープして、utf8mb4文字列を返します。

    構文

    構文は次のようになります:

    JSON_QUOTE(json_value)

    実例を示します。

    SELECT JSON_QUOTE('Small') AS 'Result';

    結果:

    +---------+
    | Result  |
    +---------+
    | "Small" |
    +---------+

    エスケープ文字

    文字列を二重引用符で囲むことに加えて、JSON_QUOTE() また、内部引用符やその他の特殊文字もエスケープします。

    例:

    SELECT JSON_QUOTE('By "small", she meant "tiny"') AS 'Result';

    結果:

    +------------------------------------+
    | Result                             |
    +------------------------------------+
    | "By \"small\", she meant \"tiny\"" |
    +------------------------------------+

    この場合、元の文字列には二重引用符が含まれているため、結果の文字列は各二重引用符をバックスラッシュでエスケープします。

    二重引用符をエスケープしないと、外側の二重引用符に干渉し、誤って文字列を早期に終了してしまいます。

    JSONオブジェクト

    JSONオブジェクトの文字列表現を引用する例を次に示します。

    SELECT JSON_QUOTE('{ "name": "Brandy"}');

    結果:

    +-----------------------------------+
    | JSON_QUOTE('{ "name": "Brandy"}') |
    +-----------------------------------+
    | "{ \"name\": \"Brandy\"}"         |
    +-----------------------------------+

    配列

    配列の文字列表現を引用する例を次に示します。

    SELECT JSON_QUOTE('[ "Small", "Medium", "Large" ]');

    結果:

    +----------------------------------------------+
    | JSON_QUOTE('[ "Small", "Medium", "Large" ]') |
    +----------------------------------------------+
    | "[ \"Small\", \"Medium\", \"Large\" ]"       |
    +----------------------------------------------+

    数字

    数値を渡すと、NULLが返されます :

    SELECT JSON_QUOTE(10) AS 'Result';

    結果:

    +--------+
    | Result |
    +--------+
    | NULL   |
    +--------+

    番号は文字列として提供する必要があります。その後、引用符で囲まれた文字列として返されます。

    例:

    SELECT JSON_QUOTE('10') AS 'Result';

    結果:

    +--------+
    | Result |
    +--------+
    | "10"   |
    +--------+

    ヌル引数

    引数がNULLの場合 、結果はNULLです :

    SELECT JSON_QUOTE(null);

    結果:

    +------------------+
    | JSON_QUOTE(null) |
    +------------------+
    | NULL             |
    +------------------+

    パラメータカウントが正しくありません

    JSON_QUOTE()を呼び出す 引数がないとエラーになります:

    SELECT JSON_QUOTE();

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_QUOTE'

    提供する引数が多すぎる場合も同じです:

    SELECT JSON_QUOTE('a', 'b');

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_QUOTE'

    その他の例

    MariaDB JSON_QUOTE() 同じ名前のMySQL関数と同じように機能します。 JSON_QUOTE()を参照してください –その他の例については、MySQLでJSON値として使用される文字列の文字をエスケープする方法。


    1. 他のテーブルの主キーではない外部キーを持つことはできますか?

    2. MySQLの自然順

    3. テーブルを削除して再作成せずに、Oracleの特定の位置に列を挿入するにはどうすればよいですか?

    4. SQLで週番号を抽出する方法