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

पोस्टग्रेज चयन में कॉलम को कैसे जोड़ना है?

स्ट्रिंग प्रकार के कॉलम जैसे character(2) . के साथ (जैसा कि आपने बाद में उल्लेख किया है), प्रदर्शित संयोजन सिर्फ इसलिए काम करता है, क्योंकि मैनुअल को उद्धृत करते हुए:

<ब्लॉकक्वॉट>

[...] स्ट्रिंग कॉन्सटेनेशन ऑपरेटर (|| ) गैर-स्ट्रिंग इनपुट स्वीकार करता है, जब तक कि कम से कम एक इनपुट स्ट्रिंग प्रकार का हो , जैसा कि तालिका 9.8 में दिखाया गया है। अन्य मामलों के लिए, text . पर स्पष्ट दबाव डालें [...]

बोल्ड जोर मेरा। दूसरा उदाहरण (select a||', '||b from foo ) किसी भी . के लिए काम करता है टाइप न किए गए स्ट्रिंग शाब्दिक ', ' . के बाद से डेटा प्रकार डिफ़ॉल्ट रूप से text टाइप करने के लिए किसी भी स्थिति में संपूर्ण अभिव्यक्ति को मान्य बनाना।

गैर-स्ट्रिंग डेटा प्रकारों के लिए, आप text पर कम से कम एक तर्क कास्ट करके पहले कथन को "ठीक" कर सकते हैं . (कोई भी प्रकार को text में डाला जा सकता है ):

SELECT a::text || b AS ab FROM foo;

अपने स्वयं के उत्तर से देखते हुए, "काम नहीं करता " का अर्थ था "रिटर्न NULL ". कुछ भी . का परिणाम NULL से जुड़ा हुआ NULL है। अगर नल मान शामिल किए जा सकते हैं और परिणाम NULL नहीं होगा, concat_ws() use का उपयोग करें किसी भी संख्या में मानों को संयोजित करने के लिए (9.1 या बाद के संस्करण पोस्ट करें):

SELECT concat_ws(', ', a, b) AS ab FROM foo;

विभाजक केवल गैर-शून्य मानों के बीच जोड़े जाते हैं, अर्थात केवल जहां आवश्यक हो।

या concat() यदि आपको विभाजकों की आवश्यकता नहीं है:

SELECT concat(a, b) AS ab FROM foo;

यहां टाइप कास्ट की कोई आवश्यकता नहीं है क्योंकि दोनों फंक्शन "any" take लेते हैं टेक्स्ट प्रस्तुतीकरण के साथ इनपुट और कार्य करें।

अधिक विवरण (और क्यों COALESCE एक गरीब विकल्प है) इस संबंधित उत्तर में:

  • दो कॉलमों को मिलाएं और एक नए कॉलम में जोड़ें

टिप्पणी में अपडेट के बारे में

+ Postgres (या मानक SQL) में स्ट्रिंग संयोजन के लिए मान्य ऑपरेटर नहीं है। इसे अपने उत्पादों में जोड़ना Microsoft का निजी विचार है।

<स्ट्राइक> character(n) का उपयोग करने का शायद ही कोई अच्छा कारण है (समानार्थी:<स्ट्राइक> char(n) ) text का प्रयोग करें या varchar . विवरण:

  • स्ट्रिंग्स को स्टोर करने के लिए डेटा प्रकार "टेक्स्ट" का उपयोग करने में कोई कमी है?
  • "खाली या शून्य मान" की जांच करने का सबसे अच्छा तरीका


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgreSQL - psql \i :किसी दिए गए पथ में स्क्रिप्ट कैसे निष्पादित करें

  2. वर्चर स्ट्रिंग को संख्यात्मक के रूप में ऑर्डर करें

  3. Postgresql में आईडी कॉलम स्थिति महत्वपूर्ण है?

  4. यौगिक कुंजी के लिए पंक्तियों के प्रति समूह क्रमांक

  5. PostgreSQL के साथ एक पिवट टेबल बनाएं