2

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

(datediff(day, [Control_OpenDate], getdate()))

这给出了最新的日期。

一切都很完美,但我想IF在计算列中添加一个条件,Control_Stage2如果没有填充列,则不要计算或添加文本......

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

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

4

2 回答 2

5

这可以使用- 语句来完成,如此CASE所示。

您的逻辑将如下所示:

(CASE 
    WHEN [Control_Stage2] IS NULL THEN NULL -- or -1 or what you like
    ELSE datediff(day,[Control_OpenDate],getdate())
END)
于 2013-01-27T20:54:29.057 回答
0

这也可以写成三元语句(IIF

IIF (boolean_expression, true_value, false_value)

IIF 是编写 CASE 表达式的简写方式。它计算作为第一个参数传递的布尔表达式,然后根据计算结果返回其他两个参数中的任何一个。即如果布尔表达式为真则返回true_value,如果布尔表达式为假或未知则返回false_value

例如

iif([Control_Stage2] is null, null, datediff(day,[Control_OpenDate],getdate()))
于 2019-11-13T14:51:15.363 回答