ASCII (Transact-SQL)
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
конечной точке аналитики платформы Аналитики Azure Synapse Analytics
(PDW)
в Microsoft Fabric
Хранилище в Microsoft Fabric
Возвращает код ASCII первого символа указанного символьного выражения.
Соглашения о синтаксисе Transact-SQL
Синтаксис
ASCII ( character_expression )
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
character_expression
Выражение типа char или varchar.
Типы возвращаемых данных
int
Замечания
ASCII — это аббревиатура от American Standard Code for Information Interchange (американский стандартный код для обмена информацией). Это стандарт кодировки символов для современных компьютеров. Список символов ASCII см. в разделе Печатаемые символы спецификации ASCII.
ASCII — это 7-разрядная кодировка. Расширенный ASCII или старший код ASCII — это 8-разрядная кодировка, которая не обрабатывается функцией ASCII
.
Примеры
А. В этом примере принимается кодировка ASCII и возвращается значение ASCII
для 6 символов.
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)
ЮНИКОД (Transact-SQL)
Строковые функции (Transact-SQL)