控制在sql server order by子句中指定排序的字符

inb24sb2  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(345)

所以我有这个密码:

select *
from Names
where organization like 'Bank of America%'
order by organization

我有这样的价值观,理想的排序方式是:
美国银行
美国银行,阿拉巴马州
美国银行
美国银行
美国银行南卡罗来纳州分行
但当我运行代码时,它的排序是这样的,表示空格在逗号之前:
美国银行
美国银行
美国银行南卡罗来纳州分行
美国银行,阿拉巴马州
美国银行
如何得到这个正则表达式:[^a-z a-z0-9],它将删除order by子句中的所有标点符号,以便在排序时只考虑这些字符?

nfs0ujit

nfs0ujit1#

如果只是一个逗号让你发火,你可以试试这个。如果有几个字符可以嵌套替换。

select *
from Names
where organization like 'Bank of America%'
order by replace(organization,',','')

相关问题