我有一个表格,其中'text'列(使用text数据类型)的数值介于0-2000之间。
当我在下面执行以下MySQL函数时,查询结果的值为990而不是2000.有人会想到为什么会这样吗?
提前致谢:
SELECT max(text) FROM table
答案 0 :(得分:2)
首先将文本字段转换为CREATE INDEX pattern_index ON table (words varchar_pattern_ops);
。
unsigned int
答案 1 :(得分:0)
在将text
传递给max()
之前,您必须将select max(cast(text as integer)) from table
的类型转换为数字。
例如:text
如果prototype
中的所有值都不是数字,则可能会失败。
答案 2 :(得分:0)
答案 3 :(得分:0)
你已经在文本类型中设置了列,因此它们在文本类型中进行比较(990大于2000)。你应该用数字类型比较它们,你可以像SELECT max(text * 1)FROM table < / p>