SQL Server 的 CHAR 函数将用户指定的整数值(ASCII 码)转换为字符。此 CHAR 函数与 ASCII 函数的作用正好相反。
CHAR 函数的语法如下所示。
SELECT CHAR (int_Expression) FROM [Source]
int_Expression:用于查找字符的有效整数值或表达式。指定的整数值范围应在 0 到 255 之间,如果超出范围,则返回 NULL。
SQL Server 的 CHAR 函数可用于插入控制字符。此字符串函数将返回 (1)。下表显示了一些常用的控制字符。
| 控制字符 | 值 |
|---|---|
| 制表符 | CHAR(9) |
| 换行符 | CHAR(10) |
| 回车符 | CHAR(13) |
SQL Server CHAR 函数示例
它会将给定的整数值转换为字符。以下查询可能显示了使用此函数的多种方法。请参考 ASCII 表 查看 SQL Server 中每个字符的 ASCII 码。
在第一个 SELECT 语句中,我们查找整数值 75 和 105 对应的字符。接下来,我们直接在其中使用了整数值 204。
在最后一行,我们指定了字符串值 71,但 CHAR 函数会隐式将字符串 71 转换为整数 71 并返回 71 对应的字符。
DECLARE @x INT
DECLARE @y INT
DECLARE @z CHAR(2)
-- Initialize the variables.
SET @x = 75
SET @y = 105
SET @z = 'T'
SELECT CHAR(@x) AS Result1,
CHAR(@y) AS Result2,
CHAR(ASCII(@Z)) AS Result3;
SELECT CHAR(204) AS Result4;
SELECT CHAR('71') AS Result5;

在此 字符串函数 示例中,我们在 WHILE LOOP 中使用了 CHAR 函数。请参考 ASCII 函数、SUBSTRING 和 WHILE LOOP 文章。
-- Example
DECLARE @i INT,
@int_expression VARCHAR(50);
-- Initialize the variables.
SET @i = 1;
SET @int_expression = '959871737882';
WHILE @i <= LEN(@int_expression)
BEGIN
SELECT SUBSTRING(@int_expression, @i, 2) AS [ASCII_Value],
CHAR(SUBSTRING(@int_expression, @i, 2)) AS [ASCII_Value]
SET @i = @i + 2
END;
