Поделиться через


CHAR (Transact-SQL)

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

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

Синтаксис

CHAR ( integer_expression )

Аргументы

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

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

char(1)

Замечания

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

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

Значение

Табуляция

char(9)

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

char(10)

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

char(13)

Примеры

A. Использование 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) для отображения имени, адреса электронной почты и телефонного номера в отдельных строках, когда результаты возвращаются в виде текста.

USE AdventureWorks;
GO
SELECT FirstName + ' ' + LastName, + CHAR(13)  + EmailAddress + CHAR(13) 
+ Phone
FROM Person.Contact

WHERE ContactID = 1;
GO

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

Gustavo Achong
gustavo0@adventure-works.com
398-555-0132

(1 row(s) affected)