Oracle में, NLS_LOWER()
फ़ंक्शन लोअरकेस में सभी अक्षरों के साथ अपना तर्क देता है।
यह LOWER()
. के समान है फ़ंक्शन, सिवाय इसके कि यह एक दूसरा तर्क स्वीकार करता है जो आपको संयोजन निर्दिष्ट करने की अनुमति देता है। संयोजन केस रूपांतरणों के लिए विशेष भाषाई आवश्यकताओं को संभालता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
NLS_LOWER(char [, 'nlsparam' ])
जहां दोनों char
और 'nlsparam'
किसी भी डेटा प्रकार का हो सकता है CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
, या NCLOB
.
'nlsparam'
तर्क के निम्नलिखित रूप हो सकते हैं:
'NLS_SORT = sort'
जहां sort
एक नामित संयोजन है।
यदि आप इस तर्क को छोड़ देते हैं, तो फ़ंक्शन के निर्धारित संयोजन का उपयोग किया जाता है।
उदाहरण
प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:
SELECT NLS_LOWER('HOMER SYMPTOM') AS Result
FROM DUAL;
परिणाम:
RESULT ________________ homer symptom
यही बात तब लागू होती है जब तर्क मिश्रित मामले का उपयोग करता है:
SELECT NLS_LOWER('Homer Symptom') AS Result
FROM DUAL;
परिणाम:
RESULT ________________ homer symptom
और अगर तर्क पहले से ही लोअरकेस है, तो परिणाम इनपुट के समान है:
SELECT NLS_LOWER('homer symptom') AS Result
FROM DUAL;
परिणाम:
RESULT ________________ homer symptom
एक संयोजन निर्दिष्ट करें
यहां एक उदाहरण दिया गया है जो दर्शाता है कि किसी मिलान को निर्दिष्ट करने से परिणाम कैसे बदल सकते हैं:
SELECT
NLS_LOWER('BALIQ') AS r1,
NLS_LOWER('BALIQ', 'NLS_SORT = XAZERBAIJANI') AS r2
FROM DUAL;
परिणाम:
R1 R2 ________ ________ baliq balıq
ध्यान दें कि दूसरा कॉलम डॉटलेस लोअरकेस का उपयोग करता है i
चरित्र, जो अज़रबैजानी लेखन प्रणाली का पालन करता है।
ध्यान दें कि NLS_SORT
निष्पादन के समय केवल पहले तर्क के संयोजन को ओवरराइड करता है। इसलिए, निम्न कथन पहले तर्क का मिलान देता है, दूसरे तर्क का नहीं:
SELECT
COLLATION(NLS_LOWER('BALIQ', 'NLS_SORT = XAZERBAIJANI')) AS Collation
FROM DUAL;
परिणाम:
COLLATION _________________ USING_NLS_COMP
मिलान का विषय काफी जटिल हो सकता है। इस फ़ंक्शन के लिए संयोजन निर्धारण नियमों और संयोजन व्युत्पत्ति नियमों के लिए Oracle डेटाबेस वैश्वीकरण समर्थन मार्गदर्शिका में परिशिष्ट C देखें।
शून्य मान
पासिंग null
रिटर्न null
:
SELECT
NLS_LOWER(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
NLS_LOWER('BALIQ', null) AS r2,
NLS_LOWER(null, null) AS r3
FROM DUAL;
परिणाम:
R1 R2 R3 _______ _______ _______ null null null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null
. खाली स्थान लौटाते हैं SQL SELECT
. के परिणामस्वरूप होता है बयान।
हालांकि, आप SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
वापस किया जाना चाहिए।
गलत तर्क गणना
कॉलिंग NLS_LOWER()
कोई तर्क पारित किए बिना एक त्रुटि देता है:
SELECT NLS_LOWER()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT NLS_LOWER() 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_LOWER('Homer', 'NLS_SORT = XAZERBAIJANI', 'Symptom')
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT NLS_LOWER('Homer', 'NLS_SORT = XAZERBAIJANI', 'Symptom') FROM DUAL Error at Command Line : 1 Column : 54 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: