यदि आपको "ऑपरेटर मौजूद नहीं है:पूर्णांक || 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
यह फ़ंक्शन संख्याओं पर काम करता है और उनमें से किसी को भी स्ट्रिंग में बदलने की आवश्यकता नहीं होती है। फ़ंक्शन स्वचालित रूप से ऐसा करता है (यह डिफ़ॉल्ट रूप से अपने तर्कों के पाठ प्रस्तुतीकरण को जोड़ता है)।