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

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

Oracle में, NLS_UPPER() फ़ंक्शन अपरकेस में सभी अक्षरों के साथ अपना तर्क देता है।

यह UPPER() . के समान है फ़ंक्शन, सिवाय इसके कि यह एक दूसरा तर्क स्वीकार करता है जो आपको संयोजन निर्दिष्ट करने की अनुमति देता है। संयोजन केस रूपांतरणों के लिए विशेष भाषाई आवश्यकताओं को संभालता है।

सिंटैक्स

वाक्य रचना इस प्रकार है:

NLS_UPPER(char [, 'nlsparam' ])

जहां दोनों char और 'nlsparam' किसी भी डेटा प्रकार का हो सकता है CHAR , VARCHAR2 , NCHAR , NVARCHAR2 , CLOB , या NCLOB .

'nlsparam' तर्क के निम्नलिखित रूप हो सकते हैं:

'NLS_SORT = sort'

जहां sort एक नामित संयोजन है।

यदि आप इस तर्क को छोड़ देते हैं, तो फ़ंक्शन के निर्धारित संयोजन का उपयोग किया जाता है।

उदाहरण

प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:

SELECT NLS_UPPER('coffee time') AS Result
FROM DUAL;

परिणाम:

        RESULT 
______________ 
COFFEE TIME   

यही बात तब लागू होती है जब तर्क मिश्रित मामले का उपयोग करता है:

SELECT NLS_UPPER('Coffee Time') AS Result
FROM DUAL;

परिणाम:

        RESULT 
______________ 
COFFEE TIME   

और यदि तर्क पहले से ही अपरकेस है, तो परिणाम इनपुट के समान है:

SELECT NLS_UPPER('COFFEE TIME') AS Result
FROM DUAL;

परिणाम:

        RESULT 
______________ 
COFFEE TIME   

एक संयोजन निर्दिष्ट करें

यहां एक उदाहरण दिया गया है जो दर्शाता है कि किसी मिलान को निर्दिष्ट करने से परिणाम कैसे बदल सकते हैं:

SELECT 
    NLS_UPPER('fasilə') AS r1,
    NLS_UPPER('fasilə', 'NLS_SORT = XAZERBAIJANI') AS r2
FROM DUAL;

परिणाम:

       R1        R2 
_________ _________ 
FASILƏ    FASİLƏ   

ध्यान दें कि दूसरा कॉलम डॉटेड अपरकेस का उपयोग करता है I चरित्र, जो अज़रबैजानी लेखन प्रणाली का पालन करता है।

ध्यान दें कि NLS_SORT निष्पादन के समय केवल पहले तर्क के संयोजन को ओवरराइड करता है। इसलिए, निम्न कथन पहले तर्क का मिलान देता है, दूसरे तर्क का नहीं:

SELECT
    COLLATION(NLS_UPPER('fasilə', 'NLS_SORT = XAZERBAIJANI')) AS Collation
FROM DUAL;

परिणाम:

        COLLATION 
_________________ 
USING_NLS_COMP   

मिलान का विषय काफी जटिल हो सकता है। इस फ़ंक्शन के लिए संयोजन निर्धारण नियमों और संयोजन व्युत्पत्ति नियमों के लिए Oracle डेटाबेस वैश्वीकरण समर्थन मार्गदर्शिका में परिशिष्ट C देखें।

शून्य मान

पासिंग null रिटर्न null :

SELECT
    NLS_UPPER(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
    NLS_UPPER('fasilə', null) AS r2,
    NLS_UPPER(null, null) AS r3
FROM DUAL;

परिणाम:

     R1      R2      R3 
_______ _______ _______ 
null    null    null   

डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null . खाली स्थान लौटाते हैं SQL SELECT . के परिणामस्वरूप होता है बयान।

हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null लौटाया जाना चाहिए।

गलत तर्क गणना

कॉलिंग NLS_UPPER() कोई तर्क पारित किए बिना एक त्रुटि देता है:

SELECT NLS_UPPER()
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT NLS_UPPER()
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 NLS_UPPER('coffee', 'NLS_SORT = XAZERBAIJANI', 'time')
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT NLS_UPPER('coffee', 'NLS_SORT = XAZERBAIJANI', 'time')
FROM DUAL
Error at Command Line : 1 Column : 55
Error report -
SQL Error: ORA-00939: too many arguments for function
00939. 00000 -  "too many arguments for function"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL बनाम Oracle:लागत में अंतर, उपयोग में आसानी और कार्यक्षमता

  2. Oracle में टेबल का आकार कैसे निर्धारित करें

  3. पायथन मॉड्यूल cx_Oracle मॉड्यूल नहीं मिला

  4. सी ## उपसर्ग के बिना ओरेकल मल्टीटेनेंट 12 सी में उपयोगकर्ता कैसे बनाएं?

  5. जहां शर्त में स्ट्रिंग मान स्वीकार नहीं किया जा रहा है