Orace SQL - 首先使用所有大写字母排序



如果我想先使用所有大写字母然后使用小写字母进行排序怎么办?

A
B
C
D
a
b
c
d

尝试在网上搜索,我能找到的就是排序,这将使它

a
A
b
B
c
C

等。。

但我希望所有大写值先排序,然后排序小写值。

知道吗?谢谢

尝试按字符的BINARY值排序。

SELECT column 
FROM my_table 
ORDER BY NLSSORT(column, 'NLS_SORT = BINARY')

使用 case 表达式根据大写或小写对列进行有条件的排序。然后按原始列排序。

select * from tablename
order by case when upper(col) = col then 1 else 2 end, col

备注:当字符串中只有一个字符或整个字符串为大写或小写时,上述顺序效果很好。

最新更新