2012-04-27 3 views
2

в SQL, char() преобразует целое число в символ (например, char (101) возвращает 'e'). Какова обратная функция char() (например, конвертировать 'e' в 101)?sql: обратная функция Char()

ответ

4

ORD() или ASCII(), хотя они не строго обратное, так как они будут обрабатывать только первый символ строки, переданной в то время как CHAR() может создать строку из списка цифр.

В соответствии Michael Buen's answer стоит отметить, что ORD() является MySql только, в то время как ASCII() более широко поддерживаются, но не обрабатывают многобайтовые символы.

mysql> SELECT CHAR(104), ASCII('h'), ORD('h'); 
+-----------+------------+----------+ 
| CHAR(104) | ASCII('h') | ORD('h') | 
+-----------+------------+----------+ 
| h   |  104 |  104 | 
+-----------+------------+----------+ 
4

Я собирался upvote ответа BluesRockAddict, но он удалил свой ответ, но это самый лучший ответ, ASCII работает на многих платформах, например, SQL Server, Oracle, PostgreSQL, и, конечно, MySQL

SELECT ASCII('e') 

ORD работает на MySQL только

http://www.sqlfiddle.com/

Смежные вопросы