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

空のオブジェクトのjson列をクエリする方法は?

    等式(または不等式)演算子はありません データ型json 全体として、平等を確立するのは難しいからです。 jsonbを検討してください これが可能な場合、Postgres9.4以降で。 dba.SE(最後の章)に関するこの関連する回答の詳細:

    • PostgreSQLのJSON[]配列から既知の要素を削除するにはどうすればよいですか?

    SELECT DISTINCT json_column ... または... GROUP BY json_column 同じ理由で失敗します(等式演算子はありません)。

    式の両側をtextにキャストする =を許可します または<> 演算子ですが、同じには多くの可能なテキスト表現があるため、通常は信頼できません。 JSON値。 Postgres 9.4以降では、jsonbにキャストします 代わりは。 (またはjsonbを使用します そもそも。)

    ただしこの特定のケースの場合 (空のオブジェクト )問題なく動作します:

    select * from test where foo::text <> '{}'::text;
    


    1. Oracleで小文字を含む行を見つける4つの方法

    2. Azure SQLデータベース管理のヒントとヒントの試験(DP-300)

    3. SQL Server:information_schemaから外部キー参照を取得する方法は?

    4. mysqlテーブルから最新の日付レコードのセットを選択する方法