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

फिक्स:"ऑपरेटर मौजूद नहीं है:पूर्णांक || पूर्णांक" PostgreSQL में

यदि आपको "ऑपरेटर मौजूद नहीं है:पूर्णांक || PostgreSQL में इंटीजर” एरर, यह शायद इसलिए है क्योंकि आप दो नंबरों को जोड़ने की कोशिश कर रहे हैं।

यदि आप वास्तव में दो संख्याओं को जोड़ना चाहते हैं, तो इस समस्या को दूर करने का सबसे आसान तरीका है कि उनमें से कम से कम एक को पहले एक स्ट्रिंग डेटा प्रकार में डाला जाए।

इसे करने का दूसरा तरीका CONCAT() . का उपयोग करना है समारोह।

त्रुटि का उदाहरण

यहां कोड का एक उदाहरण दिया गया है जो इस त्रुटि का कारण बनता है:

SELECT 123 || 456;

परिणाम:

ERROR:  operator does not exist: integer || integer
LINE 1: SELECT 123 || 456;
                   ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

समाधान 1

इस समस्या को दूर करने का एक त्वरित तरीका यहां दिया गया है:

SELECT CAST(123 AS varchar(3)) || 456;

परिणाम:

123456

हालांकि यह सच है कि हम दोनों संख्याओं को एक स्ट्रिंग में डाल सकते थे, यह आवश्यक नहीं है। जब तक ऑपरेंड में से कोई एक स्ट्रिंग है, तब तक पाइप कॉन्सटेनेशन ऑपरेटर उन्हें संयोजित करने में सक्षम होगा।

समाधान 2

इसे करने का दूसरा तरीका CONCAT() . का उपयोग करना है संयोजन करने के लिए कार्य करें:

SELECT CONCAT(123, 456);

परिणाम:

123456

यह फ़ंक्शन संख्याओं पर काम करता है और उनमें से किसी को भी स्ट्रिंग में बदलने की आवश्यकता नहीं होती है। फ़ंक्शन स्वचालित रूप से ऐसा करता है (यह डिफ़ॉल्ट रूप से अपने तर्कों के पाठ प्रस्तुतीकरण को जोड़ता है)।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django में परीक्षण के लिए अलग डीबी?

  2. पोस्टग्रेस्क्ल सत्र/कनेक्शन को मारें

  3. PostgreSQL में सभी उपयोगकर्ताओं को कैसे सूचीबद्ध करें

  4. pgadmin4 :postgresql एप्लिकेशन सर्वर से संपर्क नहीं किया जा सका।

  5. पोस्टजीआईएस इन एक्शन