Oracle डाटाबेस में, COMPOSE()
फ़ंक्शन, यूनिकोड मानक परिभाषा D117 में बताए गए अनुसार, अपने स्ट्रिंग तर्क में यूनिकोड विहित संरचना को लागू करने का परिणाम देता है।
यह DECOMPOSE()
के विपरीत है समारोह।
सिंटैक्स
वाक्य रचना इस प्रकार है:
COMPOSE(char)
जहां char
CHAR
. में से एक है , VARCHAR2
, NCHAR
, या NVARCHAR2
डेटा प्रकार।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT
COMPOSE('a' || UNISTR('\0303'))
FROM DUAL;
परिणाम:
ã
गैर यूनिकोड वर्ण
यदि तर्क का वर्ण सेट यूनिकोड वर्ण सेट में से एक नहीं है, तो तर्क बिना संशोधित किए वापस आ जाता है।
उदाहरण:
SELECT COMPOSE( 'a' )
FROM DUAL;
परिणाम:
a
शून्य तर्क
यदि तर्क null
है , परिणाम null
. है :
SET NULL 'null';
SELECT COMPOSE(null)
FROM DUAL;
परिणाम:
null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus SQL SELECT
के परिणामस्वरूप जब भी कोई रिक्त मान उत्पन्न होता है, तो एक रिक्त स्थान लौटाते हैं बयान।
हालांकि, आप SET NULL
का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
अवैध तर्क गणना
कॉलिंग COMPOSE()
बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT COMPOSE()
FROM DUAL;
परिणाम:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
और बहुत अधिक तर्क देने से भी त्रुटि होती है:
SELECT COMPOSE('a', 'b')
FROM DUAL;
परिणाम:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"