嗨,我有一些文件的记录,其数字为01 / 2020,02 / 2020等,我已经使用按子句顺序获取这些数字的记录,但它从01 / 2020到10 / 2020正确返回然后它向我显示100 / 2020有解决方案吗?请与我分享。
2 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
如果我的假设是正确的,即此记录的格式是正确的,那么您需要按顺序提取要包含的年份。请考虑下面的示例。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;
还有更多方法可以实现这一点,只要您可以确定它将以您想要的方式返回结果。
- 2 回答
- 0 关注
- 53 浏览
添加回答
举报
0/150
提交
取消