2011-02-27 115 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')