SQL ASCII 函数用于返回字符表达式最左边字符的 ASCII 码。ASCII 函数的语法是:
SELECT ASCII (Character_Expression) FROM [Source]
Character_Expression:指定要查找 ASCII 码的有效表达式。此函数将返回此表达式最左边字符的 ASCII 码。Character_Expression 可以是 Char 或 Varchar。此字符串函数的返回值将是 INT。
SQL ASCII 函数示例
该函数返回给定表达式最左边字符的 ASCII 码。以下查询将展示使用此方法的多种方式。
提示:请参考 表格 查看每个字符的代码。
DECLARE @i VARCHAR(25)
DECLARE @j INT
-- Initialize the variables.
SET @i = 'a'
SET @j = 1
SELECT ASCII(@i) AS Result1,
ASCII(@j) AS Result2 ;
SELECT ASCII('efgh') AS Result3;
SELECT ASCII('789') AS Result4;

我们正在查找字母 'a' 和整数 1 的 ASCII 码。我们还使用 SQL Server 中的 ALIAS 列为结果分别命名为 'Result1' 和 'Result2'。
SELECT ASCII(@i) AS Result1,
ASCII(@j) AS Result2 ;
在以下行中,我们将 SQL ASCII 函数直接应用于一组字符(单词)。在这里,它将返回最左边的字符(即 'e'),其 ASCII 码应为 101。
SELECT ASCII('efgh') AS Result3;
接下来,我们将其直接应用于整数。在这里,字符串函数将返回最左边的字符(即 '7'),其 ASCII 码应为 55。
SELECT ASCII('789') AS Result4;
如何在 WHILE 循环中使用 ASCII 函数?
在此示例中,我们将在 WHILE LOOP 中使用 ASCII 函数。我建议您同时参考 SUBSTRING 和 WHILE LOOP 文章。
DECLARE @i int,
@str char(16);
-- Initialize the variables.
SET @i = 1;
SET @str = 'Tutorial Gateway';
WHILE @i <= DATALENGTH(@str)
BEGIN
SELECT SUBSTRING(@str, @i, 1) AS [Char_Value],
ASCII(SUBSTRING(@str, @i, 1)) AS [ASCII_Result]
SET @i = @i + 1
END;

如何获取表列的 ASCII 值?
在此示例中,我们将把 SQL Server ASCII 函数应用于列。为此,我们使用下面显示的数据。

以下语句将返回 [FirstName] 列和 [LastName] 列中最左边字符的 ASCII 码,以及 [YearlyIncome] 列中最左边数字的 ASCII 码。
SELECT [FirstName]
,ASCII([FirstName]) AS [FN_ASCII]
,[LastName]
,ASCII([LastName]) AS [LN_ASCII]
,[Education]
,[Occupation]
,[YearlyIncome]
,ASCII([YearlyIncome]) AS [YI_ASCII]
,[Sales]
FROM [Employee]
正如您从图中可以看到的,74 是 J 的代码,89 是 Y 的代码,57 是 9 的代码。
