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

दिनांक $1 . पर पैरामीटरयुक्त क्वेरी में PostgreSQL सिंटैक्स त्रुटि

तैयार विवरण

इसके लिए स्पष्टीकरण पाया जा सकता है अध्याय में अन्य प्रकार के स्थिरांक मैनुअल के :

बोल्ड जोर मेरा।

तैयार बयानों के लिए पैरामीटर वास्तव में स्टिंग लिटरल नहीं हैं लेकिन टाइप किया मान , इसलिए आप फ़ॉर्म का उपयोग नहीं कर सकते type 'string' . मान को किसी भिन्न प्रकार में डालने के लिए अन्य दो रूपों में से किसी एक का उपयोग करें, जैसे कि आप स्वयं को पहले ही पा चुके हैं।

उदाहरण:

PREPARE foo AS SELECT $1::date;

EXECUTE foo('2005-1-1');

PQexecParams के समान libpq सी लाइब्रेरी में

दस्तावेज़ीकरण:

विकल्प , जैसा कि ऊपर दिए गए उद्धरण में बताया गया है, संबंधित डेटा प्रकारों के OID को paramTypes[] के साथ पास करना है - अगर आपको वास्तव में कलाकारों की जरूरत है। ज्यादातर मामलों में पोस्टग्रेज़ को क्वेरी संदर्भ से डेटा प्रकार प्राप्त करने देना ठीक काम करना चाहिए।

आप सिस्टम कैटलॉग से डेटा प्रकारों का OID प्राप्त कर सकते हैं pg_type :

SELECT oid FROM pg_type WHERE typname = 'date';

आपको सही आंतरिक प्रकार के नाम का उपयोग करना चाहिए। उदाहरण के लिए:int4 integer . के लिए .
या सुविधानुसार regtype :

SELECT 'date'::regtype::oid;

यह अधिक लचीला है क्योंकि प्रकार के नाम के लिए ज्ञात उपनाम भी स्वीकार किए जाते हैं। उदाहरण के लिए:int4 , int या integer integer . के लिए ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या क्लाउड SQL प्रॉक्सी को इस्तियो प्रॉक्सी से बदलना संभव है?

  2. पोस्टग्रेज:अलग लेकिन केवल एक कॉलम के लिए

  3. EnterpriseDB PPAS 9.2 बीटा में 8 नई Oracle संगतता सुविधाएँ

  4. SQLAlchemy इंजन का उपयोग किए बिना पोस्टग्रेज टेबल पर डेटा फ्रेम कैसे लिखें?

  5. इलीक्सिर में एक्टो क्वेरीज़ में केस-व्हेन का उपयोग कैसे करें?