我想对可以同时包含数字和字母的字符串列进行排序。
SQL 脚本:
select distinct a.UoA, b.rating , b.tot from omt_source a left join
wlm_progress_Scored b
on a.UoA = b.UoA
where a.UoA in (select UoA from UserAccess_dev
where trim(App_User) = lower(:APP_USER))
order by
regexp_substr(UoA, '^D*') ,
to_number(regexp_substr(UoA, 'd+'))--);
我目前得到的输出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
23
26B
26A
27
28
30
31
32
33
34B
34A
但是,我希望26
和34
按此顺序排列
26A
26B
34A
34B
任何建议都会很有帮助 谢谢
如果第一个排序依据子句确保主排序顺序基于 UoA 字段的数字分量,那么您的二阶子句实际上可能只是 UoA 字段本身。 即
order by
regexp_substr(UoA, '^D*'), UoA;