Oracle डेटाबेस में, NLS_CHARSET_NAME() फ़ंक्शन किसी दिए गए वर्ण सेट का वर्ण सेट नाम, उसकी आईडी के आधार पर देता है। आप वर्ण सेट आईडी को तर्क के रूप में पास करते हैं, और फ़ंक्शन अपना नाम देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
NLS_CHARSET_NAME(number)
जहां number वह वर्ण सेट आईडी है जिसके लिए आप नाम वापस करना चाहते हैं।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT NLS_CHARSET_NAME(1)
FROM DUAL; परिणाम:
US7ASCII
यहाँ यह एक भिन्न वर्ण सेट आईडी के साथ है:
SELECT NLS_CHARSET_NAME(871)
FROM DUAL; परिणाम:
UTF8
शून्य तर्क
यदि तर्क null है , परिणाम null . है :
SET NULL 'null';
SELECT NLS_CHARSET_NAME(null)
FROM DUAL; परिणाम:
null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null . खाली स्थान लौटाते हैं SQL SELECT . के परिणामस्वरूप होता है बयान।
हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null वापस किया जाना चाहिए।
अमान्य वर्ण सेट आईडी
अमान्य वर्ण सेट आईडी पास करने से null परिणाम प्राप्त होते हैं :
SET NULL 'null';
SELECT NLS_CHARSET_NAME(19999)
FROM DUAL; परिणाम:
null
हालांकि, गलत डेटा प्रकार पास करने से एक त्रुटि मिलती है:
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL; परिणाम:
Error starting at line : 1 in command -
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL
Error report -
ORA-01722: invalid number गलत तर्क गणना
कोई तर्क पारित किए बिना फ़ंक्शन को कॉल करने से त्रुटि होती है:
SELECT NLS_CHARSET_NAME()
FROM DUAL; परिणाम:
Error starting at line : 1 in command - SELECT NLS_CHARSET_NAME() 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 NLS_CHARSET_NAME(871, 1)
FROM DUAL; परिणाम:
UTF8