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: