sql >> Database teknologi >  >> RDS >> Oracle

NCHR() Funktion i Oracle

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:

  1. Brug af ODBC med Salesforce og Okta Single Sign On (SSO)

  2. Klon en SQLite-database

  3. ATAN2() Funktion i Oracle

  4. Barman 2.11:barman-cloud-restore og barman-cloud-wal-restore