Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में NLSSORT () फ़ंक्शन

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 भाषा संदर्भ देखें समारोह।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आप SQL को बैश स्क्रिप्ट के भीतर से कैसे निष्पादित करते हैं?

  2. Oracle में अपरकेस में कनवर्ट करने के 2 तरीके

  3. ईबीएस 12.2 . में वेब पोर्ट कैसे बदलें

  4. Oracle इंडेक्स क्लस्टरिंग फैक्टर की गणना कैसे की जाती है

  5. Membership.ValidateUser VS 2010 / .NET 4.0 में अपग्रेड करने के बाद हमेशा गलत रिटर्न देता है