2011-02-27 116 views
1

我想查询一个.NET的DateTime属性,并将其与一个日期字符串,像这样比较一个Oracle日期字段:查询NHibernate的使用字符串HQL

SELECT cat FROM mydll.cats AS cat 
WHERE cat.BirthDay > '1999-02-20' 

当我试图通过搜索日期字符串(没有SetDate函数) 查询不会运行说我不能比较字符串日期

有没有一种方法还是有一定的格式,我可以用我的时间比较简单的字符串 (也许有点像TODATE功能的Oracle SQL ..)
*我需要的HQL字符串从NHibernate的分离因为设计的引擎发出

非常感谢[=

+0

为什么你需要到c ompare字符串日期?为什么不约会至今? – Davita 2011-02-27 10:25:34

+0

我正在使用QueryEngine [链接](http://hillside.net/europlop/HillsideEurope/Papers/EuroPLoP2004/2004_Wellhausen_QueryEngine.pdf)设计模式,我不希望我的HQL转换器是类型特定的。 – 2011-02-27 14:50:33

回答

2

to_date功能在Oracle方言映射,所以:

SELECT cat FROM mydll.cats AS cat 
WHERE cat.BirthDay > to_date('1999-02-20', 'yyyy-mm-dd')