如何在mysql中将字符串转换为数字?

如何在mysql中将字符串转换为数字?,mysql,sql,Mysql,Sql,我有一个带有字符串列的表。如varchar或text 我想选择那些值作为tinyint或int。但以下几点失败了: 从mytable中选择CAST(例如INT) 结果: 1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 第1行距离mytable限制0,25'近'INT 为什么?尝试使用有符号的或无符号的: SELECT CAST(example AS SIGNED) FROM mytable 我觉得很奇怪,MySQL在这个上下文中不支持INT(或

我有一个带有字符串列的表。如
varchar
text

我想选择那些值作为
tinyint
int
。但以下几点失败了:

从mytable中选择CAST(例如INT)

结果:

1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 第1行距离mytable限制0,25'近'INT


为什么?

尝试使用
有符号的
无符号的

SELECT CAST(example AS SIGNED) FROM mytable
我觉得很奇怪,MySQL在这个上下文中不支持
INT
(或者字符串的长度)

此外,在MySQL中,经常使用隐式转换:

SELECT (example + 0)

@membersound。你必须问问那些设计MySQL并决定在这方面偏离标准SQL的人。很好的问答@membersound我想知道从mytable中选择强制转换(0为INT)是否适合您。如果是这样的话,那么这些价值观就有问题了。否则MySQL肯定会有问题,至少是你的版本。我在表
MySQL.db
上的
MySQL版本8.0.18-9
的控制台上试用了它。它给出了相同的错误。@membersound这似乎意味着MySQL有一个我以前没有注意到的错误。接得好!