【问题标题】:How do I return a null value for a negative number?如何为负数返回空值?
【发布时间】:2019-06-17 17:48:14
【问题描述】:

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

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

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

【问题讨论】:

  • 使用 CASE 语句。

标签: sql-server calculation nullif


【解决方案1】:

按照上面的建议,试试:

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 语法要求,因此我的回答中已更改这些名称。

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 2013-06-27
    • 2018-05-07
    • 2018-01-29
    • 2020-04-01
    相关资源
    最近更新 更多