ASCII (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric のSQL 分析エンドポイント
Microsoft Fabric のウェアハウス
文字式の左端の文字の ASCII コード値を返します。
構文
ASCII ( character_expression )
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
character_expression
char 型または varchar 型の式。
戻り値の型
int
解説
ASCII は、情報交換用米国標準コード (American Standard Code for Information Interchange) の略語です。 最新のコンピューター上で文字エンコード標準として機能します。 ASCII 文字の一覧については、「ASCII」の印刷可能文字に関するセクションを参照してください。
ASCII は 7 ビット文字セットです。 拡張 ASCII または高 ASCII は、ASCII
関数によって処理されない 8 ビット文字セットです。
例
A. この例では、ASCII 文字セットの使用を前提として、6 つの文字の ASCII
値を返します。
SELECT ASCII('A') AS A, ASCII('B') AS B,
ASCII('a') AS a, ASCII('b') AS b,
ASCII(1) AS [1], ASCII(2) AS [2];
結果セットは次のようになります。
A B a b 1 2
----------- ----------- ----------- ----------- ----------- -----------
65 66 97 98 49 50
B. この例では、7 ビットの ASCII 値が正しく返されますが、8 ビットの拡張 ASCII 値は処理されないことを確認できます。
SELECT ASCII('P') AS [ASCII], ASCII('æ') AS [Extended_ASCII];
結果セットは次のようになります。
ASCII Extended_ASCII
----------- --------------
80 195
上の結果が正しい文字コード ポイントにマッピングされているかどうかを確認するには、CHAR
または NCHAR
関数で出力値を使用します。
SELECT NCHAR(80) AS [CHARACTER], NCHAR(195) AS [CHARACTER];
結果セットは次のようになります。
CHARACTER CHARACTER
--------- ---------
P Ã
前の結果から、コードポイント 195 の文字が Ã であり、æ ではないことを確認してください。 これは、ASCII
関数で最初の 7 ビット ストリームを読み取れるが、余分なビットは読み取れないためです。 文字 æ
の正しいコード ポイントは UNICODE
関数で見つけることができます。この関数では正しい文字コード ポイントを返すことができます。
SELECT UNICODE('æ') AS [Extended_ASCII], NCHAR(230) AS [CHARACTER];
結果セットは次のようになります。
Extended_ASCII CHARACTER
-------------- ---------
230 æ
関連項目
CHAR (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
文字列関数 (Transact-SQL)