Mysql 将ASCII值转换为字符串

Mysql 将ASCII值转换为字符串,mysql,sql,Mysql,Sql,我有一个表,其中message是varchar列类型 mysql> select * from todel; +---------+ | message | +---------+ | 73, 116 | +---------+ 1 row in set (0.00 sec) 我无法将ASCII值转换为字符串 mysql> select char(message) from todel; +---------------+ | char(message) | +----------

我有一个表,其中message是varchar列类型

mysql> select * from todel;
+---------+
| message |
+---------+
| 73, 116 |
+---------+
1 row in set (0.00 sec)
我无法将ASCII值转换为字符串

mysql> select char(message) from todel;
+---------------+
| char(message) |
+---------------+
| I             |
+---------------+
1 row in set, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '73, 116' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)
如果我直接使用char函数,那么它会按预期工作:

mysql> select char(73, 116);
+---------------+
| char(73, 116) |
+---------------+
| It            |
+---------------+
1 row in set (0.00 sec)
从表中选择varchar数据时如何使用“char”函数?

您可以使用将两个字符串分开,然后使用
char()


select版本尝试执行char('73116')。我认为您需要将其拆分并以某种方式转换为int。也许这有助于在单个列单元格中存在多个这样的值。作为一个例子,我只展示了2。
SELECT CHAR(SUBSTRING_INDEX('73, 116', ',', 1)) --I
SELECT CHAR(SUBSTRING_INDEX('73, 116', ',', -1)) --t