在mysql查询中,如果列的类型是字符串,那么如果在条件中直接写
select * from `table` where `var` > '50'
那么结果中会包含 var = ‘6’ 的值, 因为在sql的字符串查询中,是一位一位比较的,如果第一位的字符有大小的结果后就不查询第二位字符了,那么解决的方法是先把这个列的类型转换位数字类型的。mysql的写法是:
select * from `table` where cast(`var` as signed) > 50;
在mysql查询中,如果列的类型是字符串,那么如果在条件中直接写
select * from `table` where `var` > '50'
select * from `table` where cast(`var` as signed) > 50;