sql >> Database >  >> RDS >> Oracle

NCHR() Functie in Oracle

In Oracle, de NCHR() functie retourneert het teken met het binaire equivalent van zijn argument in de nationale tekenset.

Het is het equivalent van het gebruik van de CHR() functie met de USING NCHAR_CS argument.

Syntaxis

De syntaxis gaat als volgt:

NCHR(number)

Waar number is een NUMBER waarde, of elke waarde die impliciet kan worden geconverteerd naar NUMBER .

De geretourneerde waarde is altijd NVARCHAR2 .

Voorbeeld

Hier is een eenvoudig voorbeeld om te demonstreren:

SELECT NCHR(257)
FROM DUAL;

Resultaat:

   NCHR(257) 
____________ 
ā           

Hier heb ik een nummer ingevuld, en NCHR() heeft het overeenkomstige teken in de nationale tekenset geretourneerd. In dit geval is het gehele getal 257 verwijst naar het teken ā .

We kunnen hetzelfde resultaat bereiken met de CHR() functie bij gebruik van de USING NCHAR_CS argument:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Resultaat:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Null-waarden

Doorgeven van null retourneert null :

SET NULL 'null';

SELECT NCHR(null)
FROM DUAL;

Resultaat:

   NCHR(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

Bellen NCHR() zonder het doorgeven van argumenten geeft een fout:

SELECT NCHR()
FROM DUAL;

Resultaat:

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:

En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:

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

Resultaat:

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:

  1. PostgreSQL-fout:Fatal:gebruikersnaam van de rol bestaat niet

  2. De beste manier om records te tellen met willekeurige tijdsintervallen in Rails+Postgres

  3. Hoe rijen dynamisch naar kolommen te transponeren in MySQL

  4. Hoe krijg ik een lijst van alle tabellen in een database met TSQL?