sql >> Database >  >> RDS >> Oracle

CHR() Functie in Oracle

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:

  1. psycopg2 hoe om te gaan met TypeError:niet alle argumenten geconverteerd tijdens het formatteren van strings

  2. Laatst uitgevoerde zoekopdrachten voor een specifieke database

  3. Waarom het belangrijk is om gebruikerstoegang in uw database te beperken

  4. SQL:verwijder alle gegevens uit alle beschikbare tabellen