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

CHR()-Funktion in Oracle

In Oracle die CHR() Die Funktion gibt ein Zeichen basierend auf den als Argument bereitgestellten Codewerten zurück.

Genauer gesagt gibt es das Zeichen mit dem binären Äquivalent zu seinem Argument als VARCHAR2 zurück Wert entweder im Zeichensatz der Datenbank oder, wenn Sie USING angeben NCHAR_CS , der nationale Zeichensatz.

Syntax

Die Syntax lautet wie folgt:

CHR(n [ USING NCHAR_CS ])

Wobei n ist eine NUMBER value oder irgendein Wert, der implizit in NUMBER umgewandelt werden kann .

Der USING NCHAR_CS Argument ist ein optionales Argument, mit dem Sie den nationalen Zeichensatz angeben können.

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung:

SELECT CHR(65)
FROM DUAL;

Ergebnis:

   CHR(65) 
__________ 
A         

Hier habe ich eine Zahl und CHR() angegeben gab das entsprechende Zeichen zurück. In diesem Fall die ganze Zahl 65 entspricht dem Großbuchstaben A .

Groß-/Kleinschreibung

Hier ist ein Beispiel, das einen Großbuchstaben von seinem Kleinbuchstaben unterscheidet:

SELECT 
    CHR(72),
    CHR(104)
FROM DUAL;

Ergebnis:

   CHR(72)    CHR(104) 
__________ ___________ 
H          h           

Gib eine Zeichenfolge mit mehreren Zeichen zurück

Um eine Zeichenfolge mit mehreren Zeichen zu erzeugen, können wir mehrere CHR() verketten Funktionen:

Beispiel:

SELECT CHR(65) || CHR(77)
FROM DUAL;

Ergebnis:

   CHR(65)||CHR(77) 
___________________ 
AM                  

Der NCHAR_CS Argument

Hier ist ein Beispiel für die Übergabe des (optionalen) zweiten Arguments:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Ergebnis:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Dies entspricht der Verwendung von NCHR() Funktion.

Nullwerte

Übergabe von null gibt null zurück :

SET NULL 'null';

SELECT CHR(null)
FROM DUAL;

Ergebnis:

   CHR(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 CHR() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT CHR()
FROM DUAL;

Ergebnis:

Error starting at line : 1 in command -
SELECT CHR()
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 CHR(1, 2, 3)
FROM DUAL;

Ergebnis:

Error starting at line : 1 in command -
SELECT CHR(1, 2, 3)
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action: