sql >> Databáze >  >> RDS >> Oracle

Funkce NCHR() v Oracle

V Oracle, NCHR() funkce vrací znak s binárním ekvivalentem jeho argumentu v národní znakové sadě.

Je to ekvivalent použití CHR() pomocí USING NCHAR_CS argument.

Syntaxe

Syntaxe vypadá takto:

NCHR(number)

Kde number je NUMBER hodnotu nebo jakoukoli hodnotu, kterou lze implicitně převést na NUMBER .

Vrácená hodnota je vždy NVARCHAR2 .

Příklad

Zde je jednoduchý příklad k demonstraci:

SELECT NCHR(257)
FROM DUAL;

Výsledek:

   NCHR(257) 
____________ 
ā           

Zde jsem uvedl číslo a NCHR() vrátil odpovídající znak v národní znakové sadě. V tomto případě je to celé číslo 257 mapuje na znak ā .

Stejného výsledku můžeme dosáhnout pomocí CHR() při použití funkce USING NCHAR_CS argument:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Výsledek:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Nulové hodnoty

Předávání null vrátí null :

SET NULL 'null';

SELECT NCHR(null)
FROM DUAL;

Výsledek:

   NCHR(NULL) 
_____________ 
null          

Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null dochází v důsledku SQL SELECT prohlášení.

Můžete však použít SET NULL určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null by měl být vrácen.

Nesprávný počet argumentů

Volání NCHR() bez předání jakýchkoli argumentů vrátí chybu:

SELECT NCHR()
FROM DUAL;

Výsledek:

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:

A předání nesprávného počtu argumentů má za následek chybu:

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

Výsledek:

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 ODLIŠUJE S různou ORDER BY

  2. uložit dlouhou hodnotu v databázi Android

  3. Jak odstranit koncové nuly z desetinných míst v PostgreSQL

  4. Dynamický SQL pro generování názvů sloupců?