PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Jsonb सरणी के साथ रेल (पोस्टग्रेज) क्वेरी

आप जो उपयोग करना चाहते हैं वह है @> ऑपरेटर , जो परीक्षण करता है कि आपके बाएं हाथ के मूल्य में दाएं हाथ का मूल्य है या नहीं। "Contains" ऑब्जेक्ट और सरणियों दोनों के लिए काम करता है, इसलिए निम्न क्वेरी काम करेगी:

SELECT * FROM products WHERE specs->'spec_options' @> '["spec1", "spec2"]';

जो मुझे विश्वास है कि आप इस तरह ActiveRecord-संगत सिंटैक्स में बदल सकते हैं:

scope :with_spec_options, ->(spec_options) { 
  where("specs->'spec_option' @> ?", spec_options.to_json) 
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेस्क्ल। 'पूर्णांक' के लिए 'चरित्र भिन्न' कास्ट बनाएं

  2. ब्रैकेट के बीच अल्पविराम वाले डेटा के साथ CSV से PostgreSQL तालिका लोड करें

  3. कैसे जांचें कि कोई सेवा जिसका मुझे नाम नहीं पता उबंटू पर चल रहा है?

  4. दृश्य पर ट्रिगर निष्पादित करें?

  5. पोस्टग्रेएसक्यूएल में NULL को JSON के नल में क्यों नहीं बदला जा सकता है?