V databázi Oracle je to COLLATION() funkce vrací název odvozeného řazení pro svůj argument.
Syntaxe
Syntaxe vypadá takto:
COLLATION(výraz)
Kde výraz musí být vyhodnocen jako znakový řetězec typu CHAR , VARCHAR2 , DLOUHÉ , NCHAR nebo NVARCHAR2 .
Příklad
Zde je základní příklad:
SELECT COLLATION('Boat')FROM DUAL; Výsledek:
USING_NLS_COMP
Příklad s COLLATE Ustanovení
Zde je to, co se stane, když použijeme COLLATE klauzule pro explicitní určení řazení:
SELECT COLLATION('Boat' COLLATE LATIN_AI) FROM DUAL; Výsledek:
LATIN_AI
Úvaha při používání NLS_SORT
COLLATION() funkce vrací pouze řazení vázané na data, nikoli dynamické řazení nastavené parametrem NLS_SORT parametr.
Příklad:
SELECT COLLATION('Boat' COLLATE USING_NLS_SORT) FROM DUAL; Výsledek:
USING_NLS_SORT
Můžete použít SYS_CONTEXT() funkce vrátí hodnotu NLS_SORT parametr:
SELECT SYS_CONTEXT('USERENV','NLS_SORT')FROM DUAL; Výsledek:
BINÁRNÍ
Jakákoli přípona, například _CI , _AI a _CS je vráceno:
SELECT COLLATION('Loď' COLLATE USING_NLS_SORT_CI) JAKO "_CI", COLLATION('Loď COLLATE USING_NLS_SORT_CS) JAKO "_CS", COLLATION('Loď' COLLATE USING_NLS_SORT_AI) JAKO "_AI"FROM DUAL; Výsledek:
_CI _CS _AI ____________________ ____________________ _____________________ USING_NLS_SORT_CI USING_NLS_SORT_CS pre AIING USING_NLS_SORT_CSNulový argument
Porovnání je vráceno, i když předáte
null:SELECT COLLATION(null)FROM DUAL;Výsledek:
USING_NLS_COMPNesprávný počet argumentů
Volání funkce bez předání jakýchkoli argumentů má za následek chybu:
SELECT COLLATION()FROM DUAL;Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT COLLATION()FROM DUALEchyba na příkazovém řádku:1 Sloupec:8Hlášení o chybě -Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"*Příčina:*Akce:A předání příliš mnoha argumentů také vede k chybě:
SELECT COLLATION('Boat', 'Dang')FROM DUAL;Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT COLLATION('Boat', 'Dang')FROM DUALEchyba na příkazovém řádku:1 Sloupec:8Hlášení o chybě -Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"*Příčina:*Akce: