テーブルの値を日付でグループ化しようとしていますが、この HQL クエリは正常に機能します。
SELECT af.SubmitedDate, COUNT (af.Id)
FROM ApplicationForm af
GROUP BY af.SubmitedDate
問題は、フィールド af.SubmitedDate にも時間部分が含まれていることです。SQL Server 2005 を使用しているため、グループ化は日付だけでなく日時によって行われます。HQL で次のようなことをしようとすると:
SELECT CONVERT(VARCHAR(10), af.SubmitedDate, 105), COUNT (af.Id)
FROM ApplicationForm af
GROUP BY CONVERT(VARCHAR(10), af.SubmitedDate, 105)
...次のエラーが表示されます。
NHibernate.QueryException was unhandled by user code
Message="undefined alias or unknown mapping: CONVERT
このクエリは TSQL では正しく、CONVERT を使用できる場所をどこかで読みましたが、Java の Hibernate フォーラムで読みました。
では、グループ化が正しく機能するように、この日付から時間部分を削除するにはどうすればよいですか?
前もってありがとう、デジャン。