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

jsonフィールドタイプpostgresqlでnull値をクエリする方法は?

    elem->'occupation2'という事実を使用できます 文字列nullを返します タイプjson 、したがって、クエリは次のようになります:

    select
        *
    from  json_array_elements(
      '[{"name": "Toby", "occupation": "Software Engineer"},
        {"name": "Zaphod", "occupation": "Galactic President"} ,
        {"name2": "Zaphod", "occupation2": null} ]'
    ) as elem
    where (elem->'occupation2')::text = 'null'
    
    {"name2": "Zaphod", "occupation2": null}
    

    値がnullであるすべての要素を取得する場合 JSONまたはキーが存在しない場合は、次のようにすることができます:

    select
        *
    from  json_array_elements(
      '[{"name": "Toby", "occupation": "Software Engineer"},
        {"name": "Zaphod", "occupation": "Galactic President"} ,
        {"name2": "Zaphod", "occupation2": null} ]'
    ) as elem
    where (elem->>'occupation2') is null
    
    {"name": "Toby", "occupation": "Software Engineer"}
    {"name": "Zaphod", "occupation": "Galactic President"}
    {"name2": "Zaphod", "occupation2": null}
    


    1. Oracleのテーブル名の最大長はどれくらいですか?

    2. MicrosoftAccessがスタートアップに最適な5つの理由

    3. sqliteとmysqlからデータスピナーをロードします

    4. MYSQLの結果で数値を単語に変換します!クエリの使用