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

हेरोकू, पोस्टग्रेएसक्यूएल, डीजेंगो, टिप्पणियां, स्वादिष्ट:कोई भी ऑपरेटर दिए गए नाम और तर्क प्रकार से मेल नहीं खाता। आपको स्पष्ट प्रकार के कास्ट जोड़ने की आवश्यकता हो सकती है

PostgreSQL "दृढ़ता से टाइप किया गया" है - अर्थात, प्रत्येक क्वेरी में प्रत्येक मान का एक विशेष प्रकार होता है, या तो स्पष्ट रूप से परिभाषित किया जाता है (उदाहरण के लिए किसी तालिका में कॉलम का प्रकार) या परोक्ष रूप से (उदाहरण के लिए WHERE खंड)। = . सहित सभी फ़ंक्शन और ऑपरेटर , को विशिष्ट प्रकारों को स्वीकार करने के रूप में परिभाषित किया जाना है - इसलिए, उदाहरण के लिए VarChar =VarChar के लिए एक ऑपरेटर है। , और int =int . के लिए एक अलग ।

आपके मामले में, आपके पास एक कॉलम है जिसे स्पष्ट रूप से प्रकार के रूप में परिभाषित किया गया है int , लेकिन आप इसकी तुलना उस मान से कर रहे हैं जिसे PostgreSQL ने text . प्रकार के रूप में व्याख्यायित किया है ।

दूसरी ओर, SQLite, "कमजोर रूप से टाइप किया गया" है - मूल्यों को स्वतंत्र रूप से माना जाता है कि जो भी प्रकार की कार्रवाई की जा रही है, उसके लिए सबसे उपयुक्त है। तो आपके देव SQLite डेटाबेस में ऑपरेशन '42' =42 ठीक गणना की जा सकती है, जहां PostgreSQL को VarChar =int की विशिष्ट परिभाषा की आवश्यकता होगी (या text =int , पाठ PostgreSQL में अनबाउंड स्ट्रिंग्स के लिए टाइप किया जा रहा है)।

अब, PostgreSQL कभी-कभी होगा सहायक बनें और प्रकारों को एक ज्ञात ऑपरेटर से मेल खाने के लिए अपने मूल्यों को स्वचालित रूप से "कास्ट" करें, लेकिन अधिक बार, जैसा कि संकेत कहता है, आपको इसे स्पष्ट रूप से करने की आवश्यकता है। यदि आप स्वयं SQL लिख रहे थे, तो एक स्पष्ट प्रकार का मामला WHERE id =CAST('42' AS INT) जैसा दिख सकता है। (या WHERE CAST(id AS text) ='42' )।

चूंकि आप नहीं हैं, आपको यह सुनिश्चित करने की आवश्यकता है कि आपके द्वारा क्वेरी जनरेटर को दिया गया इनपुट एक वास्तविक पूर्णांक है, न कि केवल एक स्ट्रिंग जो अंकों से युक्त होता है। मुझे संदेह है कि यह fields.IntegerField . का उपयोग करने जितना आसान है के बजाय fields.CharField , लेकिन मैं वास्तव में Django, या यहां तक ​​​​कि पायथन को नहीं जानता, इसलिए मैंने सोचा कि मैं आपको इस उम्मीद में पृष्ठभूमि दूंगा कि आप इसे वहां से ले सकते हैं।



  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. क्या सेलेक्ट टाइप क्वेश्चन ही एकमात्र प्रकार है जिसे नेस्ट किया जा सकता है?

  3. इकाई ढांचा PostgreSQL

  4. ON CONFLICT क्लॉज में कई विरोध_लक्ष्य का उपयोग करें

  5. अगर आपका पोस्टग्रेएसक्यूएल प्रतिकृति पिछड़ रहा है तो क्या देखना है