SQL Case无法摆脱0

时间:2015-07-08 15:04:08

标签: sql sql-server-2008

我有一个包含2列的表格。 "试验"和Cust#。 "试验"填充了" Y"或" N"。 Cust#填充了客户编号。

如果测试是" Y"那么cust#=一个数字。如果" N",cust#= 0。

我不想要" 0"返回我的网格显示。这是我用的一行...

(case when test = 'Y' then custno else '' end) Cust#

" Else' ' "仍然会返回" 0",我已尝试了几种不同的安排,并且无法获得空白回报,而不是" 0'当测试=" N"。

1 个答案:

答案 0 :(得分:7)

如果Cust#是一个数字,那么您对输出的选择是数字或NULL。所以,转到NULL,然后暂不离开else

(case when test = 'Y' then custno end) as Cust#

如果你确实想要一个空白,那么将值转换为字符串:

(case when test = 'Y' then cast(custno as varchar(255)) else '' end) as Cust#