CHAR (Transact-SQL)

Преобразует код ASCII int в символ.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

CHAR ( integer_expression )

Аргументы

  • integer_expression
    Целое число от 0 до 255. Значение NULL возвращается в случае, если целочисленное выражение находится вне этой области значений.

Типы возвращаемых данных

char(1)

Замечания

Функция CHAR может использоваться для вставки управляющих символов в символьные строки. В следующей таблице показаны некоторые часто используемые управляющие символы.

Управляющий символ

Значение

Tab

char(9)

Перевод строки

char(10)

Возврат каретки

char(13)

Примеры

А.Использование ASCII и CHAR для отображения значений ASCII из строки

В следующем примере отображается значение ASCII и символ для каждого символа в строке New Moon.

SET TEXTSIZE 0;
-- Create variables for the character string and for the current 
-- position in the string.
DECLARE @position int, @string char(8);
-- Initialize the current position and the string variables.
SET @position = 1;
SET @string = 'New Moon';
WHILE @position <= DATALENGTH(@string)
   BEGIN
   SELECT ASCII(SUBSTRING(@string, @position, 1)), 
      CHAR(ASCII(SUBSTRING(@string, @position, 1)))
   SET @position = @position + 1
   END;
GO

Ниже приводится результирующий набор.

----------- -

78 N

----------- -

101 e

----------- -

119 w

----------- -

32

----------- -

77 M

----------- -

111 o

----------- -

111 o

----------- -

110 n

----------- -

Б.Использование функции CHAR для вставки управляющего символа

В следующем примере используется выражение CHAR(13), чтобы отображать имя и адрес электронной почты в отдельных строках, когда результаты возвращаются в виде текста. В этом примере используется база данных AdventureWorks2012.

SELECT p.FirstName + ' ' + p.LastName, + CHAR(13)  + pe.EmailAddress 
FROM Person.Person p JOIN Person.EmailAddress pe
ON p.BusinessEntityID = pe.BusinessEntityID
AND p.BusinessEntityID = 1;
GO

Ниже приводится результирующий набор.

Ken Sanchez

ken0@adventure-works.com

(1 row(s) affected)

См. также

Справочник

+ (объединение строк) (Transact-SQL)

Строковые функции (Transact-SQL)