Принудительный результат для поля как NULL, когда документ был опубликован после определенной даты - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть запрос, который я выполняю в поле отдела, однако после определенной даты я хочу, чтобы это поле заполнилось как ноль.

Например, вот код

    Select T6.Segment2 as 'Old Department Code'

Я хочу, чтобы это поле отображало соответствующие значения, однако после определенной даты (04/01/2019) я хочу, чтобы в этом поле отображалось значение NULL.

Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 11 апреля 2019

Не уверен, какую СУБД вы используете, но она в основном одинакова для всех, когда дело доходит до этого ... Вы хотите использовать оператор CASE.

По сути, это действует как IF ELSE в вашем SELECT.

Так что в вашем случае (ха, каламбур) (синтаксис T-SQL):

SELECT
    CASE
        WHEN (YourDateFieldHere) < '04/01/2019' THEN (YourOutputFieldHere)
        ELSE NULL
    END (AS Alias)
FROM ...

CASE операторы могут проверять несколько критериев, это не обязательно должен быть один или другой, в этом случае просто добавьте больше строк WHEN (something) THEN (display this)

0 голосов
/ 11 апреля 2019

Вы можете использовать case..when

(учитывая YYYYMMDD - формат по умолчанию, используемый в SAP на внутреннем уровне)

Select case when myDate >'20190104' then 
        null
       else
         T6.Segment2 
       end
       as 'Old Department Code'
  From yourTable
...