MySQL中数字字符串的大小比较

SQL中字符串比较大小是个比较坑的事儿。如果你觉得字符串类型的10比9大那就不小心被坑了。其实是这样的:MySQL中数字字符串的大小比较

看到了吗,我们把内容为1-10的字符串升序排序,结果发现10并未出现在第一行而是倒数第二行。这是因为字符串中是数字时是按照最后一位比较的,解决方法也很简单——+0。就像这样:

MySQL中数字字符串的大小比较

在order by的参考列上+0即可解决这个问题。问题很小却很精妙。最后列出本表。MySQL中数字字符串的大小比较