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: