जवाबों:
यह ||
उदाहरण के लिए है:
select 'Mr ' || ename from emp;
एकमात्र "दिलचस्प" सुविधा जो मैं सोच सकता हूं, वह यह है कि 'x' || null
रिटर्न 'x'
, जैसा कि null
आप शायद उम्मीद नहीं कर सकते हैं।
||
ओरेकल में एक तार्किक ऑपरेटर नहीं है, इसलिए, 'x'||null
रिटर्न x
।
AND
, NOT
तो बेशक ||
लॉजिकल ऑपरेटर नहीं है। लेकिन 'x'||null
लौटने के कारण क्या होता है x
? n+null
रिटर्न अशक्त है, तो +
एक तार्किक ऑपरेटर है?
वहाँ भी है, लेकिन यह ज्यादा इस्तेमाल नहीं किया है
select concat('a','b') from dual;
CONCAT
अन्य DBMSes (कम से कम MySQL और Postgres) के साथ भी संगत है।
nvl()
।)
CONCAT
Microsoft SQL Server 2012 और उसके बाद भी उपलब्ध है । CONCAT, हालांकि गैर-मानक, निश्चित रूप से जाने का तरीका है यदि आप चाहते हैं कि आपका कोड पोर्टेबल हो। ( ||
वास्तविक एएनएसआई मानक ऑपरेटर है, हालांकि आप इसके लिए समर्थन को देखकर इसे नहीं जान पाएंगे!)
मैं 2 स्ट्रिंग्स के साथ काम करते समय कंकट का सुझाव दूंगा, और || जब वे तार 2 से अधिक हों:
select concat(a,b)
from dual
या
select 'a'||'b'||'c'||'d'
from dual
concat(a,b)
से अधिक a||b
?
CONCAT(CONCAT(,),)
दो से अधिक तारों को समतल करते समय मेरे लिए काम करना ।
मेरी समस्या के लिए आवश्यक (केवल) तिथि तार के साथ काम करने और बनाने YYYYMMDD
से YYYY-MM-DD
इस प्रकार है (यानी दिनांक स्वरूप को बदलने के बिना):
CONCAT(CONCAT(SUBSTR(DATECOL,1,4),SUBSTR(DATECOL,6,2)),SUBSTR(DATECOL,9,2)) AS YYYYMMDD