sql排序查询

7lrncoxx  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(316)

这个问题在这里已经有答案了

mysql选择一段字符串并按该段排序(4个答案)
sql:使用特定列中的子字符串排序…可能吗(7个答案)
两年前关门了。
我有一个sql表,其列名为 reference_number . reference_number 具有格式为x-mmyy-x的值(mm代表月份,yy代表年份-x是自动递增的。)
我的问题是,如果我在 reference_number 2012年3月(x-0312-x)
2012年4月(x-0412-x)
2013年1月(x-0113-x) ORDER BY reference_number 会把它们归类为
x-0113-x号
x-0312-x号
x-0412-x号
有办法分类吗 reference_number 按正确的日期顺序。

oogrdqng

oogrdqng1#

我假设你的 reference_number 列的数据类型是字符字段?
按字符字段排序将“尽最大努力”理解数据并将其解释为所需的排序格式,在本例中,您将注意到它将引用的日期部分解释为数值,因此,将按这种方式对它们进行排序。
字母数字数据将按此排序。
如果您需要按日期排序的数据,可以使用多种解决方案,但最终您需要 DateTime 要排序的值。
或者添加一个 reference_date 列,并通过直接插入或db触发器等方式将日期值添加到此列。
imho,你必须有日期值才能按日期排序,不管你决定怎么做。

相关问题