SQL Server:计算列 DATEDIFF 子句

Edd*_*y V 2 sql sql-server datediff formula

我想要做的是以下内容:我有 3 列 ( Control_OpenDate, Control_Record Age, Control_Stage2)。插入行后,它将填充Control_OpenDate(01/27/2013) 和Control_RecordAge(计算列,参见公式)。

(datediff(day, [Control_OpenDate], getdate()))
Run Code Online (Sandbox Code Playgroud)

这给出了最新的日期。

一切正常,但我想IF在列Control_Stage2被填充时向计算列添加一个条件,如果没有,不要计算或添加文本......

如何WHERE在上面的公式中添加 -语句?

注意:我将这样的公式直接输入到列属性中,我知道有些查询可以做到这一点,但是有没有办法通过公式来做到这一点。

Jac*_*cco 5

这可以用做CASE语句来,如图所示这里

您的逻辑将如下所示:

(CASE 
    WHEN [Control_Stage2] IS NULL THEN NULL -- or -1 or what you like
    ELSE datediff(day,[Control_OpenDate],getdate())
END)
Run Code Online (Sandbox Code Playgroud)