我想比较SQL日期,并创建一个新的领域,让我组的结果通过今天的日期和其他日期(或多个)。 我都转换日期CHAR。 但是我得到附近=和表达错误) - 这是一个SSRS报告。
已经有一个相当复杂的SQL语句,我只是想添加这个额外的语句分组帮助。
下面是一个例子。
情况下,当转换(CHAR(8),FieldDate,103)=转换(CHAR(8),GETDATE(),103)。然后tmpDate = '1' ELSE tmpDate = '0' END
这导致一个不正确的sntax邻近“=”这导致一个不正确的sntax邻近“)”
谢谢
为什么不日期直接比较?
CASE WHEN DATEDIFF(day, FieldDate, GETDATE()) = 0 THEN 1 ELSE 0 END AS tmpDate
移动领域的面前:
select tmpDate =
CASE
WHEN Convert(Char(8), FieldDate, 103) = Convert(Char(8), GetDate(), 103) Then '1'
ELSE '0' END
如果您的例子是从您的代码(复制/粘贴),“然后tmpDate - ‘1’”将无法正常工作。 你把一个连字符,而不是一个等号?