sql - ओरेकल में स्ट्रिंग कॉन्सटेनेशन ऑपरेटर क्या है?




oracle plsql string-concatenation (5)

ओरेकल एसक्यूएल में स्ट्रिंग कॉन्सटेनेशन ऑपरेटर क्या है?

क्या कोई "रोचक" विशेषताएं हैं जिनके बारे में मुझे सावधान रहना चाहिए?

(यह स्पष्ट प्रतीत होता है, लेकिन मुझे यह पूछने वाला कोई पिछला प्रश्न नहीं मिला)।


Answers

DECLARE
     a      VARCHAR2(30);
     b      VARCHAR2(30);
     c      VARCHAR2(30);
 BEGIN
      a  := ' Abc '; 
      b  := ' def ';
      c  := a || b;
 DBMS_OUTPUT.PUT_LINE(c);  
   END;

आउटपुट :: एबीसी डीफ़


मैं 2 स्ट्रिंग्स से निपटने के दौरान कॉन्सट का सुझाव दूंगा, और || जब वे तार 2 से अधिक होते हैं:

select concat(a,b)
  from dual

या

  select 'a'||'b'||'c'||'d'
        from dual

यह || , उदाहरण के लिए:

select 'Mr ' || ename from emp;

एकमात्र "रोचक" सुविधा जो मैं सोच सकता हूं वह है 'x' || null 'x' || null रिटर्न 'x' , null तरह नहीं, जैसा कि आप शायद उम्मीद कर सकते हैं।


वहां भी संगत है, लेकिन इसका उपयोग बहुत अधिक नहीं होता है

select concat('a','b') from dual;

DECLARE @Names VARCHAR(8000)
SELECT @name = ''
SELECT @Names = @Names + ',' + Names FROM People
SELECT SUBSTRING(2, @Names, 7998)

यह शुरुआत में भटकना कॉमा डालता है।

हालांकि, अगर आपको अन्य कॉलम की आवश्यकता है, या सीएसवी को एक बाल तालिका में आपको स्केलर उपयोगकर्ता परिभाषित फ़ील्ड (यूडीएफ) में लपेटने की आवश्यकता है।

आप एक्सएमएल पथ को SELECT क्लॉज में एक सहसंबंधित सबक्वायरी के रूप में भी उपयोग कर सकते हैं (लेकिन मुझे तब तक इंतजार करना पड़ेगा जब तक कि मैं काम पर वापस नहीं जाता क्योंकि Google घर पर काम नहीं करता है :-)





sql oracle plsql string-concatenation