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

Funkce CHR() v Oracle

V Oracle, CHR() funkce vrací znak na základě hodnot kódu poskytnutých jako argument.

Přesněji řečeno, vrací znak s binárním ekvivalentem jeho argumentu jako VARCHAR2 hodnotu buď ve znakové sadě databáze, nebo, pokud zadáte USING NCHAR_CS , národní znaková sada.

Syntaxe

Syntaxe vypadá takto:

CHR(n [ USING NCHAR_CS ])

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

USING NCHAR_CS argument je volitelný argument, který vám umožňuje určit národní znakovou sadu.

Příklad

Zde je jednoduchý příklad k demonstraci:

SELECT CHR(65)
FROM DUAL;

Výsledek:

   CHR(65) 
__________ 
A         

Zde jsem uvedl číslo a CHR() vrátil odpovídající znak. V tomto případě je to celé číslo 65 mapuje na velké písmeno A .

Rozlišovat malá a velká písmena

Zde je příklad, který odlišuje velké písmeno od jeho malého protějšku:

SELECT 
    CHR(72),
    CHR(104)
FROM DUAL;

Výsledek:

   CHR(72)    CHR(104) 
__________ ___________ 
H          h           

Vrátí řetězec s více znaky

K vytvoření víceznakového řetězce můžeme zřetězit více CHR() funkce:

Příklad:

SELECT CHR(65) || CHR(77)
FROM DUAL;

Výsledek:

   CHR(65)||CHR(77) 
___________________ 
AM                  

NCHAR_CS Argument

Zde je příklad předání (nepovinného) druhého argumentu:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Výsledek:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Je to stejné jako při použití NCHR() funkce.

Nulové hodnoty

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

SET NULL 'null';

SELECT CHR(null)
FROM DUAL;

Výsledek:

   CHR(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í CHR() bez předání jakýchkoli argumentů vrátí chybu:

SELECT CHR()
FROM DUAL;

Výsledek:

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:

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

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

Výsledek:

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. Použití aliasu v klauzuli WHERE

  2. Správa zmrazení v PostgreSQL

  3. MySQL uděluje uživateli oprávnění k databázi

  4. Přemostění RDBMS a NoSQL:Úvod do 2DX UI clusteru