2011-03-22 48 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)])

相關問題