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

PostgreSQL के साथ PDO का उपयोग करते समय प्लेसहोल्डर के रूप में प्रश्न चिह्न को कैसे अनदेखा करें

यह मेरी समस्या का समाधान है। यह ? . को बदलने के लिए PostgreSQL फ़ंक्शन का उपयोग करके समस्या का समाधान करता है ऑपरेटर।

मुझे वास्तव में यह पसंद नहीं है क्योंकि यह पीडीओ को पोस्टग्रेएसक्यूएल के लिए अधिक अनुपालन नहीं करता है। लेकिन मुझे कोई वास्तविक समाधान नहीं मिला।

CREATE FUNCTION json_key_exists(JSONB,TEXT) RETURNS BOOLEAN LANGUAGE SQL STABLE AS $f$
    SELECT $1 ? $2
$f$;

और अब मैं क्वेरी का उपयोग कर सकता हूं:

SELECT * FROM post WHERE json_key_exists(locations, :location);

समाधान का सुझाव फ़्रीनोड #postgresql

. के शानदार रोडियम टॉड द्वारा दिया गया था

संपादित करें

जैसा कि @Abelisto ने सुझाव दिया है, ऊपर दिए गए फ़ंक्शन को jsonb_exists(jsonb, text) के रूप में बनाने की कोई आवश्यकता नहीं है एविएलाबे है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समान मान के साथ बनाए जा रहे नए SQLAlchemy ऑब्जेक्ट्स के लिए UUID प्राथमिक कुंजी को कैसे रोकें

  2. पीजीबैकरेस्ट कैसे स्थापित करें

  3. रेल / ActiveRecord ORDER में एक पोस्टग्रेज सिंटेक्स एरर गैर-पूर्णांक स्थिरांक क्यों देता है?

  4. PostgreSQL पंक्तियों के माध्यम से पुनरावृति और कस्टम दूरी-फ़ंक्शन का उपयोग करके निकटतम मिलान खोजने के लिए

  5. Django विकास डेटाबेस को डिफ़ॉल्ट SQLite से PostgreSQL में बदलना