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

बहुरूपी प्रकार का निर्धारण नहीं कर सका क्योंकि इनपुट का प्रकार अज्ञात है

यहाँ मुद्दा यह है कि '' as name वास्तव में मूल्य के लिए एक प्रकार निर्दिष्ट नहीं करता है। यह unknown है टाइप करें, और पोस्टग्रेएसक्यूएल आमतौर पर चीजों से वास्तविक प्रकार का अनुमान लगाता है जैसे कि आप इसे किस कॉलम में डाल रहे हैं या आप इसे किस फंक्शन में पास करते हैं।

इस मामले में, आप इसे array_agg . पर पास कर देते हैं , जो एक बहुरूपी है समारोह। यह छद्म प्रकार anyelement . के इनपुट ले सकता है , जिसका वास्तव में अर्थ है "रनटाइम पर इसका पता लगाएं"।

PostgreSQL अभी भी इसका पता लगाएगा सिवाय इसके कि array_to_string वास्तव में text[] नहीं लेता है इनपुट के रूप में। इसमें anyarray लगती है - एक अन्य बहुरूपी प्रकार, जैसे anyelement सरणियों के लिए।

तो पोस्टग्रेएसक्यूएल को यह बताने के लिए क्वेरी में कुछ भी नहीं है कि किस प्रकार का '' है। यह अनुमान लगा सकता है कि आपका मतलब text था , लेकिन इसके लिए यह थोड़ा उधम मचाता है। तो शिकायत करता है। यह समस्या नीचे तक सरल हो जाती है:

regress=> SELECT array_to_string(array_agg(''), ',');
ERROR:  could not determine polymorphic type because input has type "unknown"

इसे हल करने के लिए, एक टाइप किया हुआ शाब्दिक लिखें:

TEXT '' AS name

या कास्ट का उपयोग करें:

CAST('' AS text) AS name

या पोस्टग्रेएसक्यूएल शॉर्टहैंड:

''::text

उदाहरण:

regress=> SELECT array_to_string(array_agg(TEXT ''), ',');
 array_to_string 
-----------------

(1 row)

regress=> SELECT array_to_string(array_agg(''::text), ',');
 array_to_string 
-----------------

(1 row)

regress=> SELECT array_to_string(array_agg(CAST('' AS text)), ',');
 array_to_string 
-----------------

(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SchemaSpy PostgreSQL - WARN - कनेक्शन विफलता

  2. कैसे LocalTimeStamp () PostgreSQL में काम करता है

  3. उपयोगकर्ता ने पोस्ट को पसंद किया है या नहीं यह निर्धारित करने के लिए कई-से-अनेक संबंध

  4. PostgreSQL में टेबल पर DELETE अक्षम करें?

  5. मैं PostgreSQL के साथ पासवर्ड कैसे एन्क्रिप्ट करूं?