我的用戶表如下:獲取生日比當前日期更大
- birhtMonth:整數
- dayOfBirthday:整數
- 僱傭日期:日期
需要量:我想在接下來的6個月中獲取所有即將到來的生日和僱用日期(日/月年不包括在內),考慮到本月應該比今天更大,所以這裏是我做了什麼:
@Query("from User u where ((u.birthMonth in (8,9,10,11,12,1)) or (month(u.hireDate) in (8,9,10,11,12,1))) and u.company = :company")
這得到所有即將到來的生日&聘請未來六個月日期,但它目前的一天後生日&租賃日期獲取本月天&之前,它應該只得到結果>當前日並忽略本月當天的結果<。
例:
今天的日期是2013年8月3日,如果有生日birthMonth = 8,dayOfBirth = 3或2或1,應在當月僅被忽略dayOfBirth> 3被認爲是,還是否有hirDate這樣的:
- 2011-08-01
- 2012-08-02
- 2012-08-03
他們也應該被忽略,請指教如何在SQL或HQL解決這個問題。
答案取決於數據庫引擎。請說明你的。 –
我第二。日期函數在引擎之間非常不同,這就是我們將要使用的。 –