I Oracle er NCHR()
funktion returnerer tegnet, der har den binære ækvivalent til dets argument i det nationale tegnsæt.
Det svarer til at bruge CHR()
funktion med USING
NCHAR_CS
argument.
Syntaks
Syntaksen ser sådan ud:
NCHR(number)
Hvor number
er et NUMBER
værdi, eller enhver værdi, der implicit kan konverteres til NUMBER
.
Den returnerede værdi er altid NVARCHAR2
.
Eksempel
Her er et simpelt eksempel til at demonstrere:
SELECT NCHR(257)
FROM DUAL;
Resultat:
NCHR(257) ____________ ā
Her angav jeg et tal og NCHR()
returnerede det tilsvarende tegn i det nationale tegnsæt. I dette tilfælde er hele tallet 257
knytter sig til tegnet ā
.
Vi kan opnå det samme resultat med CHR()
funktion, når du bruger den USING
NCHAR_CS
argument:
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Resultat:
CHR(257USINGNCHAR_CS) ________________________ ā
Nul-værdier
Sender null
returnerer null
:
SET NULL 'null';
SELECT NCHR(null)
FROM DUAL;
Resultat:
NCHR(NULL) _____________ null
Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når null
opstår som et resultat af en SQL SELECT
udmelding.
Du kan dog bruge SET NULL
for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null
skal returneres.
Forkert antal argumenter
Kalder NCHR()
uden at sende nogen argumenter returnerer en fejl:
SELECT NCHR()
FROM DUAL;
Resultat:
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:
Og at sende det forkerte antal argumenter resulterer i en fejl:
SELECT NCHR(1, 2, 3)
FROM DUAL;
Resultat:
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: