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

MariaDB JSON_LOOSE()の説明

    MariaDBでは、JSON_LOOSE() は、JSONドキュメントにスペースを追加して読みやすくする組み込み関数です。

    JSON_DETAILED()に似ています 関数。ただし、JSON_DETAILED()のようにネストされた構造を強調しません。

    逆の効果(つまり、不要なスペースを削除する)には、JSON_COMPACT()を使用します 機能。

    構文

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

    JSON_LOOSE(json_doc)

    json_docの場所 JSONドキュメントです。

    実例を示します。

    SET @json = '{"name":"Wag","type":"Dog"}';
    
    SELECT JSON_LOOSE(@json);

    結果:

    +--------------------------------+
    | JSON_LOOSE(@json)              |
    +--------------------------------+
    | {"name": "Wag", "type": "Dog"} |
    +--------------------------------+

    元のドキュメントにはスペースが含まれていませんが、JSON_LOOSE()の結果です スペースが含まれています。

    ここでも、元のドキュメントと比較されます:

    SET @json = '{"name":"Wag","type":"Dog"}';
    
    SELECT 
        @json AS 'Original',
        JSON_LOOSE(@json) AS 'Modified';

    結果:

    +-----------------------------+--------------------------------+
    | Original                    | Modified                       |
    +-----------------------------+--------------------------------+
    | {"name":"Wag","type":"Dog"} | {"name": "Wag", "type": "Dog"} |
    +-----------------------------+--------------------------------+

    オブジェクトと配列

    これは、オブジェクトと配列の例です。これは、そのような構造に追加のフォーマットが提供されていないことを示しています。

    SET @json = '{"specs":{"w":10,"h":30},"scores":[1,2,3]}';
    
    SELECT JSON_LOOSE(@json);

    結果:

    +----------------------------------------------------+
    | JSON_LOOSE(@json)                                  |
    +----------------------------------------------------+
    | {"specs": {"w": 10, "h": 30}, "scores": [1, 2, 3]} |
    +----------------------------------------------------+

    これらの構造に追加のフォーマットが必要な場合は、JSON_DETAILED()を試してください。 機能。

    ヌル引数

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

    SELECT JSON_LOOSE(null);

    結果:

    +------------------+
    | JSON_LOOSE(null) |
    +------------------+
    | NULL             |
    +------------------+

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

    引数を指定しないとエラーが発生します:

    SELECT JSON_LOOSE();

    結果:

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

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

    SELECT JSON_LOOSE('{"a":1}', 2);

    結果:

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

    1. タイムゾーンが等しいPostgres時間

    2. SQL Server(T-SQL)で「date」を「datetime」に変換する例

    3. すべての着信接続を受け入れるようにPostgreSQLを構成する方法

    4. AWS上のWindowsでのShareplex入門、パート2