Oracle में, NLSSORT()
फ़ंक्शन किसी दिए गए वर्ण मान और स्पष्ट रूप से या निहित रूप से निर्दिष्ट संयोजन के लिए एक संयोजन कुंजी देता है।
फ़ंक्शन एक निर्दिष्ट संयोजन के आधार पर स्ट्रिंग मानों के विरुद्ध तुलना करने के लिए उपयोगी हो सकता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
NLSSORT(char [, 'nlsparam' ])
जहां दोनों char
और 'nlsparam
' कोई भी डेटा प्रकार हो सकता है CHAR
, VARCHAR2
, NCHAR
, या NVARCHAR2
।
'nlsparam'
तर्क के निम्नलिखित रूप हो सकते हैं:
'NLS_SORT = collation'
जहां collation
एक भाषाई संयोजन का नाम है या BINARY
.
NLSSORT()
संयोजन कुंजी उत्पन्न करने के लिए निर्दिष्ट संयोजन का उपयोग करता है। अगर आप 'nlsparam
. छोड़ देते हैं ', तब फ़ंक्शन तर्क के व्युत्पन्न संयोजन का उपयोग करता है char
।
उदाहरण
यहां फ़ंक्शन के वापसी मान का एक उदाहरण दिया गया है:
SELECT
NLSSORT('Chess') AS Result
FROM DUAL;
परिणाम:
RESULT _______________ 436865737300
एक संयोजन निर्दिष्ट करें
इस उदाहरण में, मैं एक संयोजन निर्दिष्ट करता हूं:
SELECT
NLSSORT('Schach', 'NLS_SORT=XGERMAN') AS Result
FROM DUAL;
परिणाम:
RESULT _______________________________ 691E37141E370003010101010100
दो स्ट्रिंग्स की तुलना करना
यहां एक उदाहरण दिया गया है कि कैसे NSSORT()
फ़ंक्शन का उपयोग दो स्ट्रिंग्स की उनके भाषा नियमों के आधार पर तुलना करने के लिए किया जा सकता है:
DECLARE
v1 NVARCHAR2(10) := 'Schach';
v2 NVARCHAR2(10) := 'Schabsel';
BEGIN
IF NLSSORT(v1, 'NLS_SORT=XGERMAN') > NLSSORT(v2, 'NLS_SORT=XGERMAN') THEN
DBMS_OUTPUT.PUT_LINE( 'Yes' );
ELSE
DBMS_OUTPUT.PUT_LINE( 'No' );
END IF;
END;
परिणाम:
Yes
शून्य मान
पासिंग null
रिटर्न null
:
SELECT
NLSSORT(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
NLSSORT('fasilə', null) AS r2,
NLSSORT(null, null) AS r3
FROM DUAL;
परिणाम:
R1 R2 R3 _______ _______ _______ null null null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null
. खाली स्थान लौटाते हैं SQL SELECT
. के परिणामस्वरूप होता है बयान।
हालांकि, आप SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
गलत तर्क गणना
कॉलिंग NLSSORT()
कोई तर्क पारित किए बिना एक त्रुटि देता है:
SELECT NLSSORT()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT NLSSORT() 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:
और बहुत अधिक तर्कों को पारित करने से त्रुटि उत्पन्न होती है:
DUAL सेSELECT NLSSORT('coffee', 'NLS_SORT = XSPANISH', 'time')
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT NLSSORT('coffee', 'NLS_SORT = XSPANISH', 'time') FROM DUAL Error at Command Line : 1 Column : 49 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action:
अधिक जानकारी
NLSSORT()
. के बारे में अधिक जानकारी के लिए Oracle SQL भाषा संदर्भ देखें समारोह।