在 SQL 中,char() 将整数转换为字符(例如,char(101) 返回 'e')。char() 的反向函数是什么(例如,将 'e' 转换为 101)?
问问题
4992 次
2 回答
8
ORD()
或ASCII()
,尽管它们并不是严格意义上的反转,因为它们只会处理传入的字符串的第一个字符,而CHAR()
可以从数字列表中构建一个字符串。
根据Michael Buen 的回答,值得注意的ORD()
是 MySql-only,而ASCII()
得到更广泛的支持,但不处理多字节字符。
mysql> SELECT CHAR(104), ASCII('h'), ORD('h');
+-----------+------------+----------+
| CHAR(104) | ASCII('h') | ORD('h') |
+-----------+------------+----------+
| h | 104 | 104 |
+-----------+------------+----------+
于 2012-04-27T04:14:18.330 回答
6
我正要支持 BluesRockAddict 的答案,但他删除了他的答案,但这是最好的答案,ASCII 适用于许多平台,例如 SQL Server、Oracle、Postgresql,当然还有 MySQL
SELECT ASCII('e')
ORD 仅适用于 MySQL
于 2012-04-27T04:21:49.710 回答