Sql server 如何为负数返回空值?

Sql server 如何为负数返回空值?,sql-server,calculation,nullif,Sql Server,Calculation,Nullif,我正在尝试对我创建的字段执行额外的聚合计算,因为有些值是负数,这会影响平均值。如果值为0,它也会与平均值相混淆,因此将这些负值视为NULL,这一点很重要 我想我可能需要在现有查询的基础上进行NULLIF计算,但语法似乎不接受上面建议的,请尝试: SELECT CASE WHEN DATEDIFF(day,deposit_date,[acceptance date]) < 0 THEN NULL ELSE DATEDIFF(day,deposit_da

我正在尝试对我创建的字段执行额外的聚合计算,因为有些值是负数,这会影响平均值。如果值为
0
,它也会与平均值相混淆,因此将这些负值视为
NULL
,这一点很重要


我想我可能需要在现有查询的基础上进行
NULLIF
计算,但语法似乎不接受上面建议的
,请尝试:

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
选择
案例
当DATEDIFF(天、存款日、[承兑日期])小于0时,则为空
ELSE DATEDIFF(日期、存款日、[承兑日])
截止日期[验收前天数]
从数据

此外,您的一些姓名不符合SQL语法要求,因此在我的回答中对其进行了更改。

请使用CASE语句。
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