【问题标题】:Display NULL instead of zero [duplicate]显示 NULL 而不是零 [重复]
【发布时间】:2014-06-13 12:36:09
【问题描述】:

我想在查询中获取 NULL 值而不是零。我设置了一个条件,即 varchar '0.0000' 不应该与 NULL 值一起显示。结果出现时,NULL 没有显示,但 0.0000 仍然显示在那里。无论如何我可以将该 varchar 转换为 NULL 以便不显示该值?

【问题讨论】:

  • 请显示你写了什么查询
  • 表中的列是否可以为空?

标签: sql sql-server


【解决方案1】:

你可以使用NULLIF:

如果两个指定的表达式相等,则返回空值。

SELECT NULLIF(Column, '0.0000') As Column
FROM dbo.TableName

【讨论】:

  • @Patrick:“无论如何我可以将该 varchar 转换为 NULL 吗?”所以他想把 varchar '0.0000' 当作NULL 对待。
  • @PatrickHofman:是的,正是NULLIF 所做的。
  • 那么 IF() IF(Expressio_TRUE, VAL1, NULL)
  • @PatrickHofman - 你是否在想ISNULL/COALESCE?这不是蒂姆推荐的。
  • @Damien_The_Unbeliever:你说得对,我的错。蒂姆:我很抱歉。
【解决方案2】:
select case when your_column = '0.0000' then null
            else your_column
       end as your_column
from your_table

【讨论】:

  • 谢谢大家的回答。对我来说,使用 Select CASE 的那个有效。
猜你喜欢
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 2018-10-12
  • 1970-01-01
  • 2014-04-15
  • 2011-12-29
相关资源
最近更新 更多