我是否可以更改SQL Server数据库中的默认排序顺序,以便最后显示空值和零长度字符串。
其SQL Server 2000
我强调,我想更改所有查询的默认顺序,如果可能的话
答案 0 :(得分:5)
您可以使用case
中的order by
进行几乎任何排序。这是首先是null
列,然后是空字符串,其余是在col1和col3上排序的:
select *
from YourTable
order by
case when col1 is null then 1
when col1 = '' then 2
else 3
end
, col2
, col3 desc
答案 1 :(得分:4)
不,你不能这样做:没有ORDER BY,没有默认的排序顺序。这是一个非常常见的问题,所以我写了一个罐头答案:Without ORDER BY, there is no default sort order
答案 2 :(得分:1)
添加一个虚拟newcolumn =(length(targetcolumn)> 0),然后按此排序。