In Oracle, il NLS_LOWER()
la funzione restituisce il suo argomento con tutte le lettere in minuscolo.
È simile a LOWER()
funzione, tranne per il fatto che accetta un secondo argomento che consente di specificare le regole di confronto. La raccolta gestisce requisiti linguistici speciali per le conversioni di casi.
Sintassi
La sintassi è questa:
NLS_LOWER(char [, 'nlsparam' ])
Dove entrambi char
e 'nlsparam'
può essere di qualsiasi tipo di dati CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
o NCLOB
.
Il 'nlsparam'
argomento può avere la forma seguente:
'NLS_SORT = sort'
Dove sort
è una raccolta denominata.
Se ometti questo argomento, viene utilizzato il confronto determinato della funzione.
Esempio
Ecco un semplice esempio da dimostrare:
SELECT NLS_LOWER('HOMER SYMPTOM') AS Result
FROM DUAL;
Risultato:
RESULT ________________ homer symptom
Lo stesso vale quando l'argomento usa maiuscole e minuscole:
SELECT NLS_LOWER('Homer Symptom') AS Result
FROM DUAL;
Risultato:
RESULT ________________ homer symptom
E se l'argomento è già minuscolo, il risultato è lo stesso dell'input:
SELECT NLS_LOWER('homer symptom') AS Result
FROM DUAL;
Risultato:
RESULT ________________ homer symptom
Specifica una confronto
Ecco un esempio che dimostra come la specifica di una confronto può alterare i risultati:
SELECT
NLS_LOWER('BALIQ') AS r1,
NLS_LOWER('BALIQ', 'NLS_SORT = XAZERBAIJANI') AS r2
FROM DUAL;
Risultato:
R1 R2 ________ ________ baliq balıq
Si noti che la seconda colonna utilizza un i
minuscolo senza punto carattere, che aderisce al sistema di scrittura azerbaigiano.
Nota che NLS_SORT
sovrascrive le regole di confronto del primo argomento solo al momento dell'esecuzione. Pertanto, la seguente istruzione restituisce le regole di confronto del primo argomento, non del secondo:
SELECT
COLLATION(NLS_LOWER('BALIQ', 'NLS_SORT = XAZERBAIJANI')) AS Collation
FROM DUAL;
Risultato:
COLLATION _________________ USING_NLS_COMP
L'argomento delle collazioni può essere piuttosto complesso. Consulta l'Appendice C nella Guida al supporto per la globalizzazione del database Oracle per le regole di determinazione delle regole di confronto e le regole di derivazione delle regole di confronto per questa funzione.
Valori Nulli
Passaggio null
restituisce null
:
SELECT
NLS_LOWER(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
NLS_LOWER('BALIQ', null) AS r2,
NLS_LOWER(null, null) AS r3
FROM DUAL;
Risultato:
R1 R2 R3 _______ _______ _______ null null null
Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null
si verifica come risultato di un SQL SELECT
dichiarazione.
Tuttavia, puoi utilizzare SET NULL
per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null
deve essere restituito.
Conteggio argomenti errato
Chiamando NLS_LOWER()
senza passare alcun argomento restituisce un errore:
SELECT NLS_LOWER()
FROM DUAL;
Risultato:
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:
E il passaggio di troppi argomenti genera un errore:
SELECT NLS_LOWER('Homer', 'NLS_SORT = XAZERBAIJANI', 'Symptom')
FROM DUAL;
Risultato:
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: