मैं PostgreSQL 9.3 चला रहा हूं। मेरे पास "json" प्रकार का "मॉडल" नाम का कॉलम हैनहीं jsonb)। "मॉडल" कॉलम की सामग्री निम्न के समान है:
{
"section": {
"colors": ["red", "blue", "green"]
}
}
क्या जहाँ पंक्तियों के लिए क्वेरी करना संभव है model -> section -> colors
"नीला" शामिल है?
उत्तर:
उत्तर № 1 के लिए 19.3 में कोई जोंस तुलना ऑपरेटर नहीं हैं। आप फ़ंक्शन को कॉल कर सकते हैं json_array_elements()
और समारोह के परिणाम डाले text
. Distinct on
जसन सरणियों में डुप्लिकेट तत्व होते हैं:
select distinct on (id) t.*
from my_table t,
json_array_elements(model->"section"->"colors")
where value::text = ""blue"";