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

ISJSON()SQL Server(T-SQL)の例

    SQL Serverを使用する場合は、ISJSON()を使用できます。 文字列式に有効なJSONが含まれているかどうかをテストする関数。

    式に有効なJSONが含まれている場合、ISJSON() 1を返します 、それ以外の場合は、0を返します 。

    構文

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

    ISJSON ( expression )
    

    expressionの場所 は、有効なJSONをテストするための文字列式です。

    例1-有効なJSON

    文字列に有効なJSONが含まれている場合に何が起こるかを示す例を次に示します。

    SELECT ISJSON('{"Name": "Bob"}') AS Result;
    

    結果:

    +----------+
    | Result   |
    |----------|
    | 1        |
    +----------+
    

    例2–無効なJSON

    文字列がない場合に何が起こるかを示す例を次に示します。 有効なJSONが含まれています。

    SELECT ISJSON('Name: Bob') AS Result;
    

    結果:

    +----------+
    | Result   |
    |----------|
    | 0        |
    +----------+
    

    例3–条件付きステートメント

    文字列にJSONが含まれているかどうかに応じて、異なる結果を出力する基本的な条件ステートメントを次に示します。

    DECLARE @data nvarchar(255);
    SET @data = '{"Name": "Bob"}';
    IF (ISJSON(@data) > 0)
        SELECT 'Valid JSON' AS 'Result';
    ELSE
        SELECT 'Invalid JSON' AS 'Result';
    

    結果:

    +------------+
    | Result     |
    |------------|
    | Valid JSON |
    +------------+
    

    例4–データベースの例

    このデータベースクエリでは、結果はCollections.Contentsの場所でのみ返されます 列に有効なJSONが含まれています。

    この特定の列は、nvarchar(4000)のデータ型を使用します JSONドキュメントを保存します。

    SELECT Contents
    FROM Collections
    WHERE ISJSON(Contents) > 0;
    

    結果:

    +------------+
    | Contents   |
    |------------|
    | [
        {
            "ArtistName": "AC/DC",
            "Albums": [
                {
                    "AlbumName": "Powerage"
                }
            ]
        },
        {
            "ArtistName": "Devin Townsend",
            "Albums": [
                {
                    "AlbumName": "Ziltoid the Omniscient"
                },
                {
                    "AlbumName": "Casualties of Cool"
                },
                {
                    "AlbumName": "Epicloud"
                }
            ]
        },
        {
            "ArtistName": "Iron Maiden",
            "Albums": [
                {
                    "AlbumName": "Powerslave"
                },
                {
                    "AlbumName": "Somewhere in Time"
                },
                {
                    "AlbumName": "Piece of Mind"
                },
                {
                    "AlbumName": "Killers"
                },
                {
                    "AlbumName": "No Prayer for the Dying"
                }
            ]
        }
    ]            |
    +------------+
    


    1. SQLデータベースからphp/htmlテーブルにデータを表示します

    2. postgresで、タイムスタンプのデフォルトのフォーマットをセッションごとまたはグローバルに設定できますか?

    3. EMSQLモニターへの影響

    4. SQLで平均を丸めるときに小数を取得するにはどうすればよいですか?