Oracle
 sql >> Datenbank >  >> RDS >> Oracle

NCHR()-Funktion in Oracle

In Oracle das NCHR() Die Funktion gibt das Zeichen zurück, das das binäre Äquivalent zu seinem Argument im nationalen Zeichensatz hat.

Dies entspricht der Verwendung von CHR() Funktion mit dem USING NCHAR_CS Argument.

Syntax

Die Syntax sieht so aus:

NCHR(number)

Wobei number ist eine NUMBER value oder irgendein Wert, der implizit in NUMBER konvertiert werden kann .

Der zurückgegebene Wert ist immer NVARCHAR2 .

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung:

SELECT NCHR(257)
FROM DUAL;

Ergebnis:

   NCHR(257) 
____________ 
ā           

Hier habe ich eine Zahl und NCHR() angegeben lieferte das entsprechende Zeichen im nationalen Zeichensatz zurück. In diesem Fall die Ganzzahl 257 wird dem Zeichen ā zugeordnet .

Dasselbe Ergebnis erreichen wir mit CHR() Funktion bei Verwendung von dem USING NCHAR_CS Argument:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Ergebnis:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Nullwerte

Übergabe von null gibt null zurück :

SET NULL 'null';

SELECT NCHR(null)
FROM DUAL;

Ergebnis:

   NCHR(NULL) 
_____________ 
null          

Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null tritt als Ergebnis eines SQL SELECT auf Erklärung.

Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.

Falsche Argumentanzahl

Aufruf von NCHR() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT NCHR()
FROM DUAL;

Ergebnis:

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:

Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:

SELECT NCHR(1, 2, 3)
FROM DUAL;

Ergebnis:

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: