大家在数据库设计的时候,为了保存处理方便,很多情况下会将数字格式的字段作为字符串格式插入,但是在查询时,若想按照此字段排序的话就会有小问题。直接使用order by排序,数据库会按照字符串的顺序来处理,如图:
此处item字段在数据库的类型是varchar,但是存放的是整型的序号,排序就出现了这种问题。
解决的方法很简单,就是查询时对字段用cast方法做格式转换为int型,再排序,结果如图:
本文介绍了一种在数据库设计中常见的问题——当数字类型的字段被存储为字符串格式时,如何正确地进行排序。通过使用cast方法将字符串转换为整型,可以有效解决排序不准确的问题。
大家在数据库设计的时候,为了保存处理方便,很多情况下会将数字格式的字段作为字符串格式插入,但是在查询时,若想按照此字段排序的话就会有小问题。直接使用order by排序,数据库会按照字符串的顺序来处理,如图:
此处item字段在数据库的类型是varchar,但是存放的是整型的序号,排序就出现了这种问题。
解决的方法很简单,就是查询时对字段用cast方法做格式转换为int型,再排序,结果如图:
2万+
4973
1695
1406
1150

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