I Oracle, NCHR()
funktion returnerar tecknet som har den binära motsvarigheten till dess argument i den nationella teckenuppsättningen.
Det motsvarar att använda CHR()
funktion med USING
NCHAR_CS
argument.
Syntax
Syntaxen ser ut så här:
NCHR(number)
Där number
är ett NUMBER
värde, eller något värde som implicit kan konverteras till NUMBER
.
Det returnerade värdet är alltid NVARCHAR2
.
Exempel
Här är ett enkelt exempel att visa:
SELECT NCHR(257)
FROM DUAL;
Resultat:
NCHR(257) ____________ ā
Här angav jag ett nummer och NCHR()
returnerade motsvarande tecken i den nationella teckenuppsättningen. I det här fallet, heltal 257
mappar till tecknet ā
.
Vi kan uppnå samma resultat med CHR()
funktionen när du använder koden USING
NCHAR_CS
argument:
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Resultat:
CHR(257USINGNCHAR_CS) ________________________ ā
Nullvärden
Skickar null
returnerar null
:
SET NULL 'null';
SELECT NCHR(null)
FROM DUAL;
Resultat:
NCHR(NULL) _____________ null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när null
uppstår som ett resultat av en SQL SELECT
påstående.
Du kan dock använda SET NULL
för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null
bör returneras.
Inkorrekt antal argument
Anropar NCHR()
utan att skicka några argument returnerar ett fel:
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:
Och att skicka fel antal argument resulterar i ett fel:
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: