ASCII(character);
其中,character 是要获取 ASCII 值的字符或字符串的第一个字符。
以下是一些示例:
1. 返回字符 'A' 的 ASCII 值:
SELECT ASCII('A') AS ascii_value FROM dual;
-- 输出: 65
2. 返回字符串 'Hello' 的第一个字符 'H' 的 ASCII 值:
SELECT ASCII('Hello') AS ascii_value FROM dual;
-- 输出: 72
需要注意的是,ASCII 函数只返回字符串的第一个字符的 ASCII 值,如果输入是一个空字符串,函数将返回 NULL。
SELECT ASCII('') AS ascii_value FROM dual;
-- 输出: NULL
如果需要获取字符串中每个字符的 ASCII 值,可以使用循环或其他字符串函数来实现。
请注意,ASCII 函数在 Oracle 中已被标记为过时(deprecated),而推荐使用 ASCII 的 Unicode 对应函数 UNISTR 或 UTL_RAW.CAST_TO_VARCHAR2 进行替代。例如:
-- 推荐使用 Unicode 函数 UNISTR
SELECT ASCII(UNISTR('\0048')) AS ascii_value FROM dual;
-- 输出: 72
或者:
-- 推荐使用 UTL_RAW.CAST_TO_VARCHAR2
SELECT ASCII(UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('48'))) AS ascii_value FROM dual;
-- 输出: 72
这样可以更好地处理 Unicode 字符。
转载请注明出处:http://www.zyzy.cn/article/detail/8078/Oracle