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: