कोई समानता (या असमानता) ऑपरेटर नहीं है डेटा प्रकार के लिए json
समग्र रूप से, क्योंकि समानता स्थापित करना कठिन है। jsonb
पर विचार करें Postgres 9.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;