2011-03-22 75 views
2

我在Hibernate 3的HQL dateAdd函数中遇到了一些问题。是否有可能在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服务器。

谢谢

回答

1

是别名是否正确?你介意试试这个吗?

<cfsavecontent variable="hSql"> 
      from matter as m 
      where m.lastTimeDate < dateAdd(month, 3, (select max(cutOffDate) from deadline)) 
     </cfsavecontent> 
0

select max(d.cutOffDate) from deadline第一

然后ormExecuteQuery("from matter where lastTimeDate < ?", [dateAdd('m', 3, cutOffDate)])

相关问题