【发布时间】:2018-01-24 18:19:15
【问题描述】:
我正在尝试将此 excel 公式转换为 SQL,但我真的不知道该怎么做。
=IF(WEEKDAY(INT(DateDB))=2;INT([DateR])=INT([DateDB]])-3;INT([DateR])=INT([DataDB])-1)
我从 CASE 开始,但我没有得到任何结果
CASE WHEN DATEPART(dw, CONVERT(DATE, [DataDB], 105)) = 2 THEN
【问题讨论】:
-
您使用的是哪个DBMS 产品? “SQL”只是一种查询语言,不是特定数据库产品的名称。
-
此外,显示
DateR和DateDB的现有值,以及这些日期的 Excel 公式的结果,可能有助于我们准确了解您现在得到什么以及您期望得到什么从您正在使用的 DBMS 获取。 -
我使用的是 SQL Server 2012。日期格式为 yyyy-mm-dd hh:mm:ss。我使用 CONVERT 命令只是为了比较日期(yyyy-mm-dd),而忽略了时间值。我需要得到一个 TRUE 或 FALSE,这取决于工作日是否等于 2。
-
如果
DateDB是date或datetime类型,则不需要convert。
标签: sql-server sql-server-2012 excel case