我在Hibernate 3中使用HQL dateAdd函数时遇到了一些问题。
在下面的代码中,我希望得到的所有事项的lastTimeDate都大于最大截止日期加上3个月。
<cfoutput>
<cfsavecontent variable="hSql">
from matter as m
where m.lastTimeDate < dateAdd(month, 3, (select max(d.cutOffDate) from deadline as d))
</cfsavecontent>
</cfoutput>
<cfset var awMatters = ormExecuteQuery(hSql) />
但是,当我执行查询时,收到以下错误:
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]The dateadd function requires 3 argument(s).
我错过了什么吗?我的dateAdd函数中肯定有3个参数。
我正在使用Coldfusion 9(ORM)和MSSql 2005服务器。
谢谢
答案 0 :(得分:1)
别名是否正确?你介意试试吗?
<cfsavecontent variable="hSql">
from matter as m
where m.lastTimeDate < dateAdd(month, 3, (select max(cutOffDate) from deadline))
</cfsavecontent>
答案 1 :(得分:0)
首先执行select max(d.cutOffDate) from deadline
然后ormExecuteQuery("from matter where lastTimeDate < ?", [dateAdd('m', 3, cutOffDate)])