我想按以下顺序排序bpchar列(先按a-z,再按数字):
abc
bcd
xrf/1
zyd
0/abc
0/bdc
0/efg
我该怎么做?
谢谢
答案 0 :(得分:1)
不能完全从您的问题中看出您真正想要的是什么。如果要检查字符串的第一个字符是数字还是字母,则可以像这样在CASE
中使用ORDER BY
表达式。
select * FROM t ORDER BY
CASE
WHEN col ~ '^[a-zA-Z]' THEN 1
WHEN col ~ '^[0-9]' THEN 2
END,col;