暂无图片
SQL求助,根据不同规则匹配的字符串如何整体排序
我来答
分享
瓦尔特
2021-08-24
SQL求助,根据不同规则匹配的字符串如何整体排序

有表,包含code列,有两种格式的数据:
aa-bb-2021-cc-dd-00123(年份-cc-dd-5位流水)
aabbccdd210122(年份后两位+4位流水)
现在想按照不同格式去整体排序,判断两种格式的方法是:寻找code中是否包含符号“-”
如果包含,则取年份后两位+流水号后四位,不包含则直接substr(code,-6),
请问order by后面的语句怎么写?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
每日一步

SQL> select * from t1;

CODE

aa-bb-2021-cc-dd-00123
aabbccdd210122
aa-bb-2021-cc-dd-00130
aabbccdd210203

SQL> select
2 case when regexp_count(code,’-’)>0
3 then
4 substr(code,9,2)||substr(code,-4)
5 else
6 substr(code,-6)
7 end as new_code
8 from t1
9 order by 1;

NEW_CODE

210122
210123
210130
210203

SQL>

暂无图片 评论
暂无图片 有用 0
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏