具有多个条件的SQL计算列大小写

具有多个条件的SQL计算列大小写,sql,sql-server,tsql,Sql,Sql Server,Tsql,我无法将Case语句用于多个条件,我不知道如何嵌套另一个Case DateTime列:Control\u OpenDateOwner DateTime列:Control\u ClosedDateRev 计算列: (case when [Control_ClosedDateRev] IS NULL then '1' else '0' end) 试图计算OPENDATE何时大于打开的4天(使用today())且关闭日期为空,放入1(打开记录且打开时间超过4天或0如果记录关闭或打开时间少于4天,

我无法将Case语句用于多个条件,我不知道如何嵌套另一个Case

  • DateTime
    列:
    Control\u OpenDateOwner
  • DateTime
    列:
    Control\u ClosedDateRev
计算列:

(case when [Control_ClosedDateRev] IS NULL then '1' else '0' end)
试图计算
OPENDATE
何时大于打开的4天(使用
today()
)且关闭日期为空,放入
1
(打开记录且打开时间超过4天或
0
如果记录关闭或打开时间少于4天,我无法使其工作

注意:我不是SQL方面的专家,初学者。我试过这篇文章,但对我来说有点困惑


谢谢

您可以在
案例
语句中使用
。在这种情况下,您不需要执行真正的嵌套
案例
语句

(CASE WHEN [Control_ClosedDateRev] IS NULL AND DateDiff(day,opendate,getDate()) > 4 THEN '1' ELSE '0' END)

您的错误消息是什么?“today”不是可识别的内置函数名。根据我发现的MATT BUSCHE代码,该代码很简单。sql server上没有此类函数。您可以使用
getdate()
。如果出现“验证错误”,“today”不是可识别的内置函数名。