Возможно ли иметь подвыбор в HQL-функции dateAdd? - PullRequest
2 голосов
/ 22 марта 2011

У меня возникли проблемы с функцией HQL dateAdd в Hibernate 3.

В следующем коде я хочу получить все вопросы, для которых 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.

Спасибо

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Правильно ли имя псевдонима? Не могли бы вы попробовать это?

 <cfsavecontent variable="hSql">
            from matter as m
            where m.lastTimeDate < dateAdd(month, 3, (select max(cutOffDate) from deadline))
        </cfsavecontent>
0 голосов
/ 22 марта 2011

сделать select max(d.cutOffDate) from deadline сначала

затем ormExecuteQuery("from matter where lastTimeDate < ?", [dateAdd('m', 3, cutOffDate)])

...