V Oracle, NCHR()
funkce vrací znak s binárním ekvivalentem jeho argumentu v národní znakové sadě.
Je to ekvivalent použití CHR()
pomocí USING
NCHAR_CS
argument.
Syntaxe
Syntaxe vypadá takto:
NCHR(number)
Kde number
je NUMBER
hodnotu nebo jakoukoli hodnotu, kterou lze implicitně převést na NUMBER
.
Vrácená hodnota je vždy NVARCHAR2
.
Příklad
Zde je jednoduchý příklad k demonstraci:
SELECT NCHR(257)
FROM DUAL;
Výsledek:
NCHR(257) ____________ ā
Zde jsem uvedl číslo a NCHR()
vrátil odpovídající znak v národní znakové sadě. V tomto případě je to celé číslo 257
mapuje na znak ā
.
Stejného výsledku můžeme dosáhnout pomocí CHR()
při použití funkce USING
NCHAR_CS
argument:
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Výsledek:
CHR(257USINGNCHAR_CS) ________________________ ā
Nulové hodnoty
Předávání null
vrátí null
:
SET NULL 'null';
SELECT NCHR(null)
FROM DUAL;
Výsledek:
NCHR(NULL) _____________ null
Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null
dochází v důsledku SQL SELECT
prohlášení.
Můžete však použít SET NULL
určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null
by měl být vrácen.
Nesprávný počet argumentů
Volání NCHR()
bez předání jakýchkoli argumentů vrátí chybu:
SELECT NCHR()
FROM DUAL;
Výsledek:
Error starting at line : 1 in command - SELECT NCHR() 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:
A předání nesprávného počtu argumentů má za následek chybu:
SELECT NCHR(1, 2, 3)
FROM DUAL;
Výsledek:
Error starting at line : 1 in command - SELECT NCHR(1, 2, 3) FROM DUAL Error at Command Line : 1 Column : 19 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: