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

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

В Oracle, NCHR() функцията връща символа с двоичен еквивалент на неговия аргумент в националния набор от знаци.

Това е еквивалентно на използването на CHR() функция с USING NCHAR_CS аргумент.

Синтаксис

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

NCHR(number)

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

Връщаната стойност винаги е NVARCHAR2 .

Пример

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

SELECT NCHR(257)
FROM DUAL;

Резултат:

   NCHR(257) 
____________ 
ā           

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

Можем да постигнем същия резултат с CHR() функция, когато използвате USING NCHAR_CS аргумент:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Резултат:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

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

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

SET NULL 'null';

SELECT NCHR(null)
FROM DUAL;

Резултат:

   NCHR(NULL) 
_____________ 
null          

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

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

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

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

SELECT NCHR()
FROM DUAL;

Резултат:

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:

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

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

Резултат:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Метод за събиране:EXISTS Функция в базата данни на Oracle

  2. Грешка ORA-00932 при използване на избор с полета за съюз и CLOB

  3. Адаптивната динамична статистика убива производителността в 12.1.0.2 RAC

  4. Как да разрешите ORA-29283:невалидна файлова операция

  5. Как да създадете обект oracle.sql.ARRAY?