日期:2014-05-17  浏览次数:20523 次

查询数据时,如何把0转为NULL输出,不用CASE
查询一个数据表,如何处理列里面0的数据转为NULL输出,让页面整洁。不用CASE

------解决方案--------------------
不用case貌似要写更多的代码吧
例如将表用left join自连接,b表where col>0,然后输出b表的col列
------解决方案--------------------
目前我见到的情况,case when反而是最好的方法
------解决方案--------------------
nullif(列,0)
------解决方案--------------------
可以使用nullif()函数,e.g.

use tempdb
go


if object_id('#') is not null drop table #
create table #(id int)
insert into #(id)values(1),(0),(0),(2)
select nullif(id,0) as id from #
--------------------------------------
1
NULL
NULL
2

------解决方案--------------------
nullif(列,0)
------解决方案--------------------
引用:
查询一个数据表,如何处理列里面0的数据转为NULL输出,让页面整洁。不用CASE

好像case when还比较简单一点
------解决方案--------------------