在特定日期后过帐文档时,将字段的结果强制为“ NULL”

时间:2019-04-11 18:25:33

标签: sql sapb1

我有一个查询要输入部门字段,但是,在某个日期之后,我希望将此字段填充为空。

例如,这是代码

    Select T6.Segment2 as 'Old Department Code'

我确实希望此字段输入适当的值,但是在特定日期(04/01/2019)之后,我希望此字段显示NULL值。

这可能吗?

2 个答案:

答案 0 :(得分:2)

不确定您使用的是哪个DBMS,但是在这方面,它们对于所有DBMS基本上都是相同的。您想使用CASE语句。

这实际上是在您的IF ELSE中扮演SELECT的角色。

因此,在您的情况下(ha,pun)(T-SQL语法):

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

CASE语句可以检查多个条件,而不必一个或多个,在这种情况下,只需包含更多行的WHEN (something) THEN (display this)

答案 1 :(得分:0)

您可以使用case..when

(考虑到YYYYMMDD是SAP内部使用的默认格式)

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