SQL:查询最大的流水号,一直显示的最大流水号是9,但是数据库中流水号明明最大的不是9.
原因是因为流水号这个字段的字段类型为varchar的,而不是int。若是varchar的话,那就说明是字符型的了,在比较大小的时候,是按照一位一位的进行比较。
字符"9">字符"10"
所以导致查询出来的结果一直都是9
解决的方法就是将流水号字段修改为int就可以,那就是正常的数值型比对了。
当流水号字段被错误地定义为varchar类型时,SQL查询最大值会因字符比较而非数值比较导致错误结果。字符'9'被视为大于'10',解决方法是将字段类型更改为int进行正确的数值比较。
SQL:查询最大的流水号,一直显示的最大流水号是9,但是数据库中流水号明明最大的不是9.
原因是因为流水号这个字段的字段类型为varchar的,而不是int。若是varchar的话,那就说明是字符型的了,在比较大小的时候,是按照一位一位的进行比较。
字符"9">字符"10"
所以导致查询出来的结果一直都是9
解决的方法就是将流水号字段修改为int就可以,那就是正常的数值型比对了。

被折叠的 条评论
为什么被折叠?