In Oracle, de CHR()
functie retourneert een teken op basis van de codewaarden die als argument zijn opgegeven.
Meer specifiek, het retourneert het teken met het binaire equivalent van zijn argument als een VARCHAR2
waarde in de database-tekenset of, als u USING
. opgeeft NCHAR_CS
, de nationale tekenset.
Syntaxis
De syntaxis gaat als volgt:
CHR(n [ USING NCHAR_CS ])
Waar n
is een NUMBER
waarde, of elke waarde die impliciet kan worden geconverteerd naar NUMBER
.
De USING
NCHAR_CS
argument is een optioneel argument waarmee u de nationale tekenset kunt specificeren.
Voorbeeld
Hier is een eenvoudig voorbeeld om te demonstreren:
SELECT CHR(65)
FROM DUAL;
Resultaat:
CHR(65) __________ A
Hier heb ik een nummer ingevuld, en CHR()
het bijbehorende teken geretourneerd. In dit geval is het gehele getal 65
verwijst naar de hoofdletter A
.
Hoofdlettergevoeligheid
Hier is een voorbeeld dat een hoofdletter onderscheidt van zijn tegenhanger in kleine letters:
SELECT
CHR(72),
CHR(104)
FROM DUAL;
Resultaat:
CHR(72) CHR(104) __________ ___________ H h
Retourneer een tekenreeks met meerdere tekens
Om een tekenreeks met meerdere tekens te maken, kunnen we meerdere CHR()
. samenvoegen functies:
Voorbeeld:
SELECT CHR(65) || CHR(77)
FROM DUAL;
Resultaat:
CHR(65)||CHR(77) ___________________ AM
De NCHAR_CS
Argument
Hier is een voorbeeld van het doorgeven van het (optionele) tweede argument:
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Resultaat:
CHR(257USINGNCHAR_CS) ________________________ ā
Dit is hetzelfde als het gebruik van de NCHR()
functie.
Null-waarden
Doorgeven van null
retourneert null
:
SET NULL 'null';
SELECT CHR(null)
FROM DUAL;
Resultaat:
CHR(NULL) ____________ null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null
treedt op als resultaat van een SQL SELECT
uitspraak.
U kunt echter SET NULL
. gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Onjuist aantal argumenten
CHR()
. aanroepen zonder het doorgeven van argumenten geeft een fout:
SELECT CHR()
FROM DUAL;
Resultaat:
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:
En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:
SELECT CHR(1, 2, 3)
FROM DUAL;
Resultaat:
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: