在Oracle中排序字母数字数据

时间:2017-12-26 12:49:06

标签: sql oracle

我有以下字母数字数据:

L1
L2
L3A
L3B
L4
L6C
L8
L9
L10
L11
R1D
R2A
R2B
R2Z
R11

我需要按以下顺序输入数据:

L1
L2
L3B
L3A
L4
L6C
L8
L9
L10
L11
R1D
R2B
R2A
R2Z
R11

请按上述顺序帮助获取数据。

2 个答案:

答案 0 :(得分:1)

这是一个相当奇怪的顺序。基本上是:

  • 按第一个字符排序
  • 按字符串的长度排序,忽略最后一个字母字符。
  • 按值排序

您可以将其实现为:

order by substr(col, 1, 1),
         length(col) - (case when substr(col, -1) between 'A' and 'Z' then 1 else 0 end),
         col

答案 1 :(得分:1)

也许是这样的事情?

 git config --"your email address"  
 git config --"your name"