如何为负数返回空值?

时间:2019-06-17 17:48:14

标签: sql-server calculation nullif

我正在尝试对我创建的字段执行其他汇总计算,并且由于某些值是负数,因此它与平均值搞混了。如果将这些值设为0,那么它也会与平均值混淆,因此将这些负值视为NULL很重要。

我认为我可能需要在现有查询之上进行NULLIF计算,但是语法似乎不接受<0,而且我在任何地方都找不到合适的语法。是。

SELECT
NULLIF(DATEDIFF(day,deposit_date,acceptance_date),<0) AS 'Days until Acceptance'
FROM data

1 个答案:

答案 0 :(得分:2)

如上所述,请尝试:

SELECT
    CASE
        WHEN DATEDIFF(day,deposit_date,[acceptance date]) < 0 THEN NULL
        ELSE DATEDIFF(day,deposit_date,[acceptance date])
    END AS [Days until Acceptance]
FROM data

此外,您的某些名称不符合SQL语法要求,因此我的答案中的名称已更改。