【发布时间】:2011-09-24 21:39:23
【问题描述】:
我应该将闲置的 SQL-Query 转换为 NHibernate HQL (NHibernate 3.2)。但我不知道,我必须如何翻译 FLOOR、DATEDIFF 和 GETDATE。
SELECT Birthday FROM Person
WHERE 1 = (FLOOR(DATEDIFF(dd,Birthday,GETDATE()+10) / 365.25))
-
(FLOOR(DATEDIFF(dd,Birthday,GETDATE()-5) / 365.25))
【问题讨论】:
-
你想做什么?我看不懂那个查询。
-
@Phill - FLOOR 的定义:返回小于或等于指定数值表达式的最大整数。 FLOOR(DATEDIFF(dd,Birthday,GETDATE()+10) / 365.25) 给我 10 天后的年龄 - FLOOR(DATEDIFF(dd,Birthday,GETDATE()-5) / 365.25) 给我 5 天的年龄在过去。如果这个差值为 1,则生日在从现在开始的过去 5 天到未来 10 天之间。
标签: sql nhibernate hql