首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

空值排序小疑点

2013-09-05 
空值排序小问题我在一张表的两列中都包含空值Null和“”,怎样将这两列空值的数据都排序并显示在最前端。order

空值排序小问题
我在一张表的两列中都包含空值Null和“”,怎样将这两列空值的数据都排序并显示在最前端。order by我已经用过了,发现如果是一列的话没有问题,但是如果order by 两列的话,第二列中部分空值无法排序在最前。 空值,排序
[解决办法]

select  *
from tb
order by case when isnull(col,'')='' then 0 else 1 end,col

[解决办法]
order by isnull(col,'')
这样处理一下
[解决办法]
order by isnull(col,'0')
[解决办法]
select  *
from tb
order by (CASE WHEN (ISNULL(col1, '') = '' OR ISNULL(col2, '') = '') THEN NULL ELSE '' END)

[解决办法]
--  两列同时为空,排在最前面,其中之一列为空其次,两列都不为空排在后面
select  *
from tb
order by case when isnull(col1,'')='' and isnull(col2,'')='' then 0 
when isnull(col1,'')='' or isnull(col2,'')='' then 1 else 2 end,col1,col2

热点排行