CHAR (Transact-SQL)
int ASCII コードを文字に変換します。
構文
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) を使用して、従業員の名前と電子メール アドレスを別々の行に出力します。
USE AdventureWorks2012;
GO
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)