Oracle में, CONCAT() फ़ंक्शन अपने तर्कों पर एक स्ट्रिंग संयोजन करता है। यह उस स्ट्रिंग को लौटाता है जो इसके तर्कों को संयोजित करने के परिणामस्वरूप होती है।
Concatenation कई स्ट्रिंग्स को एंड-टू-एंड जोड़ने का ऑपरेशन है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
CONCAT(char1, char2)
जहां दोनों तर्क कोई भी डेटा प्रकार हो सकते हैं CHAR , VARCHAR2 , NCHAR , NVARCHAR2 , CLOB , या NCLOB .
उदाहरण
प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:
SELECT CONCAT('Ponzi', 'Invest')
FROM DUAL; परिणाम:
CONCAT('PONZI','INVEST')
___________________________
PonziInvest शून्य मान
एक स्ट्रिंग को null . के साथ जोड़ना स्ट्रिंग लौटाता है:
SET NULL 'null';
SELECT
CONCAT('Ponzi', null),
CONCAT(null, 'Invest')
FROM DUAL; परिणाम:
CONCAT('PONZI',NULL) CONCAT(NULL,'INVEST')
_______________________ ________________________
Ponzi Invest
लेकिन अगर दोनों तर्क null हैं , परिणाम null . है :
SET NULL 'null';
SELECT CONCAT(null, null)
FROM DUAL; परिणाम:
CONCAT(NULL,NULL) ____________________ null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null . खाली स्थान लौटाते हैं SQL SELECT . के परिणामस्वरूप होता है बयान।
हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null वापस किया जाना चाहिए।
गलत तर्क गणना
कॉलिंग CONCAT() कोई तर्क पारित किए बिना एक त्रुटि देता है:
SELECT CONCAT()
FROM DUAL; परिणाम:
Error starting at line : 1 in command - SELECT CONCAT() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
और तर्कों की गलत संख्या पास करने से त्रुटि होती है:
SELECT CONCAT('Gosh', 'Dang', 'Investments')
FROM DUAL; परिणाम:
Error starting at line : 1 in command -
SELECT CONCAT('Gosh', 'Dang', 'Investments')
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 - "invalid number of arguments"
*Cause:
*Action: चरित्र सेट और डेटा प्रकार
परिणामी स्ट्रिंग पहले तर्क के समान वर्ण सेट में है, हालांकि इसका डेटा प्रकार तर्कों के डेटा प्रकारों पर निर्भर करता है।
दो अलग-अलग डेटा प्रकारों को संयोजित करते समय, Oracle डेटाबेस डेटा प्रकार लौटाता है जिसके परिणामस्वरूप दोषरहित रूपांतरण होता है। इसलिए, यदि तर्कों में से एक LOB है, तो लौटाया गया मान LOB है। यदि तर्कों में से एक राष्ट्रीय डेटा प्रकार है, तो लौटाया गया मान एक राष्ट्रीय डेटा प्रकार है।
उदाहरण:
CONCAT(CLOB,NCLOB) रिटर्नNCLOBCONCAT(NCLOB,NCHAR) रिटर्नNCLOBCONCAT(NCLOB,CHAR) रिटर्नNCLOBCONCAT(NCHAR,CLOB) रिटर्नNCLOB