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

Как работи функцията CHAR() в SQL Server (T-SQL)

В 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] |+--------+-----------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получавате най-близката дължина и ширина от таблицата на базата данни на MSSQL?

  2. Възстановяване на база данни от авариен режим в SQL Server

  3. Активирайте SQL Server Agent чрез SSMS

  4. SQLServer IDENTITY Колона с текст

  5. Обектът 'DF__*' зависи от колона '*' - Промяна на int на double