我要做的是以下内容:我有3列(Control_OpenDate
,Control_Record Age
,Control_Stage2
)。插入行后,它将填充Control_OpenDate
(2013年1月27日)和Control_RecordAge
(计算列,请参阅公式)。
(datediff(day, [Control_OpenDate], getdate()))
给出了最新的日子。
一切都工作得很完美,但是如果没有填充列IF
,我想在计算列中添加Control_Stage2
条件,不要计算或添加文本......
如何在上述公式中添加WHERE
- 语句?
注意:我正在将这样的公式直接输入到列属性中,我知道有些查询可以做到这一点,但有没有办法通过公式来实现。
答案 0 :(得分:4)
可以使用CASE
语句完成此操作,如here所示。
您的逻辑将如下所示:
(CASE
WHEN [Control_Stage2] IS NULL THEN NULL -- or -1 or what you like
ELSE datediff(day,[Control_OpenDate],getdate())
END)
答案 1 :(得分:0)
这也可以写成三元语句(https://www.googleapis.com)
IIF(布尔表达式,true_value,false_value)
IIF是编写CASE表达式的简便方法。它评估作为第一个参数传递的布尔表达式,然后根据评估结果返回其他两个参数之一。也就是说,如果布尔表达式为true,则返回true_value;如果布尔表达式为false或未知,则返回false_value
E.G。
iif([Control_Stage2] is null, null, datediff(day,[Control_OpenDate],getdate()))