Skip to content

Latest commit

 

History

History
118 lines (86 loc) · 3.53 KB

File metadata and controls

118 lines (86 loc) · 3.53 KB
title ASCII (Transact-SQL)
description ASCII (Transact-SQL)
author markingmyname
ms.author maghan
ms.date 02/09/2026
ms.service sql
ms.subservice t-sql
ms.topic reference
ms.custom
ignite-2025
f1_keywords
ASCII_TSQL
ASCII
helpviewer_keywords
ASCII function
characters [SQL Server], ASCII
code [SQL Server], ASCII
leftmost character of expression
dev_langs
TSQL
monikerRange >=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric || =fabric-sqldb

ASCII (Transact-SQL)

[!INCLUDE sql-asdb-asdbmi-asa-pdw-fabricse-fabricdw-fabricsqldb]

Returns the ASCII code value of the leftmost character of a character expression.

:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions

Syntax

ASCII ( character_expression )  

Arguments

character_expression

An expression of type char or varchar.

Return types

int

Remarks

ASCII stands for American Standard Code for Information Interchange. It serves as a character encoding standard for modern computers. See the Printable characters section of ASCII for a list of ASCII characters.

ASCII is a 7-bit character set. The ASCII function does not support an 8-bit character sets like extended ASCII or High ASCII.

Examples

A. This example assumes an ASCII character set, and returns the ASCII value for six characters

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];  

[!INCLUDEssResult]

A           B           a           b           1           2  
----------- ----------- ----------- ----------- ----------- -----------  
65          66          97          98          49          50  

B. This example shows how a 7-bit ASCII value is returned correctly, but an 8-bit Extended ASCII value is not handled

SELECT ASCII('P') AS [ASCII], ASCII('æ') AS [Extended_ASCII];

[!INCLUDEssResult]

ASCII       Extended_ASCII
----------- --------------
80          195

To verify if the results map to the correct character code point, use the output values with the CHAR or NCHAR function:

SELECT NCHAR(80) AS [CHARACTER], NCHAR(195) AS [CHARACTER];

[!INCLUDEssResult]

CHARACTER CHARACTER
--------- ---------
P         Ã

From the previous result, notice that the character for code point 195 is à and not æ. This is because the ASCII function is capable of reading the first 7-bit stream, but not the extra bit. The correct code point for character æ can be found using the UNICODE function, which is capable or returning the correct character code point:

SELECT UNICODE('æ') AS [Extended_ASCII], NCHAR(230) AS [CHARACTER];

[!INCLUDEssResult]

Extended_ASCII CHARACTER
-------------- ---------
230            æ

Related content