CHAR (Transact-SQL)

将 int ASCII 代码转换为字符。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

CHAR ( integer_expression )

参数

  • integer_expression
    0 到 255 之间的整数。 如果整数表达式不在此范围内,则返回 NULL。

返回类型

char(1)

注释

CHAR 可用于将控制字符插入字符串中。 下表显示了一些常用的控制字符。

控制字符

制表符

char(9)

换行符

char(10)

回车符

char(13)

示例

A.使用 ASCII 和 CHAR 打印字符串的 ASCII 值

以下示例将输出字符串 New Moon 中每个字符的 ASCII 值和字符。

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

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

B.使用 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)