我需要比较存储在 varchar 字段中的数字,例如我有一个表:

id | values
1 | 2
2| 154
3 | 88
4 | 35

我需要寻找大于 5 的数字,如果我可以对 values 字段使用 int 属性,一切都会好起来的,但我必须使用 varchar。有什么简单的解决办法吗?

最佳答案

你需要使用

CAST(`values` AS UNSIGNED)

像那样
select * from table WHERE CAST(`values` AS UNSIGNED) > 5

DEMO

编辑:

假设您已用负号 - 签名的数字

然后
select * from table1 WHERE  CAST(`values` AS SIGNED) > 5

DEMO

关于php - Mysql 数字在 varchar 字段中进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18077038/

10-12 12:38
查看更多