В 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: