Oracle
 sql >> база данни >  >> RDS >> Oracle

Функция CHR() в Oracle

В Oracle, CHR() функцията връща знак въз основа на стойностите на кода, предоставени като аргумент.

По-конкретно, той връща символа с двоичен еквивалент на неговия аргумент като VARCHAR2 стойност в набора от знаци на базата данни или, ако посочите USING NCHAR_CS , националният набор от символи.

Синтаксис

Синтаксисът е така:

CHR(n [ USING NCHAR_CS ])

Където n е NUMBER стойност или всяка стойност, която може да бъде неявно преобразувана в NUMBER .

USING NCHAR_CS аргументът е незадължителен аргумент, който ви позволява да посочите националния набор от знаци.

Пример

Ето един прост пример за демонстрация:

SELECT CHR(65)
FROM DUAL;

Резултат:

   CHR(65) 
__________ 
A         

Тук предоставих номер и CHR() върна съответния знак. В този случай, цялото число 65 съпоставя с главната буква A .

Чувствителност на регистрите

Ето пример, който отличава главна буква от нейния аналог:

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

Резултат:

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

Връщане на многознаков низ

За да произведем многознаков низ, можем да конкатенираме множество CHR() функции:

Пример:

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

Резултат:

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

NCHAR_CS Аргумент

Ето пример за предаване на (по избор) втори аргумент:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Резултат:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Това е същото като използването на NCHR() функция.

Нулеви стойности

Предаването на null връща null :

SET NULL 'null';

SELECT CHR(null)
FROM DUAL;

Резултат:

   CHR(NULL) 
____________ 
null        

По подразбиране SQLcl и SQL*Plus връщат празно пространство всеки път, когато null възниква в резултат на SQL SELECT изявление.

Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Неправилен брой аргументи

Извикване на CHR() без подаване на аргументи връща грешка:

SELECT CHR()
FROM DUAL;

Резултат:

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:

И предаването на грешен брой аргументи води до грешка:

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

Резултат:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да продължите обработката на курсора след изключение в Oracle

  2. Изисква ли се ODP.NET за Oracle 11g Client?

  3. Как да форматирате отрицателни числа с ъглови скоби в Oracle

  4. MySQL еквивалент на SEQUENCE.NEXTVAL на Oracle

  5. Инсталиране на Oracle Fusion Middleware / WebLogic Server 11g