如何按子句按子句排序以正确获取具有01/2020格式的数据的记录

嗨,我有一些文件的记录,其数字为01 / 2020,02 / 2020等,我已经使用按子句顺序获取这些数字的记录,但它从01 / 2020到10 / 2020正确返回然后它向我显示100 / 2020有解决方案吗?请与我分享。


Helenr
浏览 54回答 2
2回答

狐的传说

我的问题已通过使用ORDER BY ABS(MyField)

胡说叔叔

如果我的假设是正确的,即此记录的格式是正确的,那么您需要按顺序提取要包含的年份。请考虑下面的示例。running_no/year如果数据如下所示:+----------+|   Value  |+----------+| 01/2020  || 02/2020  || 10/2020  || 100/2020 || 01/2021  || 10/2021  |+----------+因此,后面的4位数字表示连续年份,然后您可以通过几种方式从if中提取年份。在这里,我展示了两个使用和的示例。RIGHT()SUBSTRING_INDEX()example 1:SELECT * FROM table ORDER BY RIGHT(Value,4) ASC, ABS(Value) ASC;example 2:SELECT * FROM table ORDER BY SUBSTRING_INDEX(Value,'/',-1) ASC, SUBSTRING_INDEX(Value,'/',1) ASC;还有更多方法可以实现这一点,只要您可以确定它将以您想要的方式返回结果。
打开App,查看更多内容
随时随地看视频慕课网APP