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

テキストをjsonBに変換するにはどうすればよいですか

    Postgresのドキュメント によると :

    JSON形式の文字列を提供しているので、最初の方法を使用する必要があります。

    to_json('Fred said "Hi."'::text)  --> "Fred said \"Hi.\""
    

    to_json(text)を使用して要素の配列を取得しようとすると、次のエラーが発生します:

    select *
    from jsonb_array_elements_text(to_jsonb('[{"field":15,"operator":0,"value":"1"},{"field":15,"operator":0,"value":"2"},55]'::text));
    

    ただし、以前にjsonにキャストした場合:

    select *
    from jsonb_array_elements_text(to_jsonb('[{"field":15,"operator":0,"value":"1"},{"field":15,"operator":0,"value":"2"},55]'::json));
    
    +--------------------------------------------+
    |                    value                   |
    +--------------------------------------------+
    | {"field": 15, "value": "1", "operator": 0} |
    +--------------------------------------------+
    | {"field": 15, "value": "2", "operator": 0} |
    +--------------------------------------------+
    | 55                                         |
    +--------------------------------------------+
    


    1. Laravelクエリビルダーのさまざまなデータベースからのユニオンクエリ

    2. 複数の行を1つの列にカンマで区切ることはできますか?

    3. pgadmin sqlクエリにパラメータ値を追加するにはどうすればよいですか?

    4. スパンフォレストの検索(再帰、PostgreSQL 9.5を使用)