我正在尝试计算本月所有已完成案例的AmountRequested。 我正在使用SQL 2008
如果本月DateCompleted列中有日期,请告诉我这些列的AmountRequested总和 这是我的代码,它一直在说"操作数类型冲突:日期与int"
不兼容SUM(case WHEN CONVERT(DATE,pm.DateCompleted,103)
= MONTH(GETDATE()) AND YEAR(pm.DateCompleted) = YEAR(GETDATE())
THEN pm.AmountRequested
ELSE 0 end) AS [LoanAmount]
答案 0 :(得分:2)
CONVERT(DATE,pm.DateCompleted,103) = MONTH(GETDATE())
在这里,您要尝试将date
与integer
进行比较,以便错误。
<强>实施例强>
CONVERT(DATE,pm.DateCompleted,103)
可能会返回'2016-10-11'
而MONTH(GETDATE())
将返回10
。您试图将'2016-10-11' = 10
等同,以便生成错误
为什么不对列使用相同的MONTH
函数
Sum(CASE
WHEN Month(pm.DateCompleted) = Month(Getdate())
AND Year(pm.DateCompleted) = Year(Getdate()) THEN pm.AmountRequested
ELSE 0
END) AS [LoanAmount]