Как вернуть нулевое значение для отрицательного числа? - PullRequest
1 голос
/ 17 июня 2019

Я пытаюсь выполнить дополнительные агрегированные вычисления для поля, которое я создал, и, поскольку некоторые значения являются отрицательными, это портит средние значения.Если бы значения были 0, это также мешало бы средним, поэтому важно, чтобы эти отрицательные значения рассматривались как NULL.

. Я думаю, что мне, вероятно, понадобится вычисление NULLIF дляк началу моего существующего запроса, но синтаксис, похоже, не принимает <0, и я нигде не могу найти, какой будет правильный синтаксис.

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

1 Ответ

2 голосов
/ 17 июня 2019

Как предложено выше, попробуйте:

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, поэтому они были изменены в моем ответе.

...