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