В SQL Server, T-SQL CHAR()
функция преобразува int ASCII код към стойност на знак. С други думи, вие предавате цяло число и функцията го интерпретира като стойност на кода за низ символ и връща съответния низ символ.
Синтаксис
Синтаксисът е така:
CHAR ( целочислен_израз )
Където integer_expression
е цяло число от 0 до 255.
Ако посочите цяло число извън този диапазон, резултатът е NULL
. Същото е вярно, ако предоставите цяло число, което изразява само първия байт от двубайтов знак.
Пример 1 – Основна употреба
Ето пример за демонстриране на основното използване:
ИЗБЕРЕТЕ CHAR(67) КАТО 'Резултат';
Резултат:
+---------+| Резултат ||----------|| C |+---------+
Така че, ако променим цялото число, получаваме различен знак:
ИЗБЕРЕТЕ CHAR(255) КАТО 'Резултат';
Резултат:
+---------+| Резултат ||----------|| ÿ |+----------+
Пример 2 – Множество цели числа
Тази функция не поддържа множество цели числа като аргументи. Ако предоставите няколко цели числа, ще получите грешка.
Ето един пример:
ИЗБЕРЕТЕ CHAR(67, 255) КАТО 'Резултат';
Резултат:
Функцията char изисква 1 аргумент(и).
Имайте предвид, че това е в контраст с CHAR()
на MySQL функция (която ви позволява да предоставите множество цели числа).
Пример 3 – Цели числа извън обхвата
Тази функция също не поддържа цели числа извън диапазона от 1 до 255. Ако аргументът ви е извън този диапазон, резултатът е NULL
.
Ето един пример:
ИЗБЕРЕТЕ CHAR(256) КАТО 'Резултат';
Резултат:
+---------+| Резултат ||----------|| NULL |+----------+
Това отново е в контраст с CHAR()
на MySQL функция, която приема цели числа, по-големи от 255 (в този случай те автоматично се преобразуват в множество резултатни байта).
Пример 4 – Вмъкване на контролни знаци
Ето пример за използване на CHAR(13)
за отпечатване на следващите знаци на нов ред:
ИЗБЕРЕТЕ 'Homer' + CHAR(13) + '[email protected]' КАТО 'Име/Имейл';
Резултат:
<пред>+--------------+| Име/Имейл ||--------------|| [email protected] |+--------------+
Ето как изглежда, ако премахнем CHAR(13)
:
ИЗБЕРЕТЕ 'Homer' КАТО 'Име', '[email protected]' КАТО 'Имейл';
Резултат:
+--------+-----------------------+| Име | Имейл ||-------+-----------------------|| Омир | [email protected] |+--------+-----------------------+