-1
在NHibernate的+ Oracle中,生成一個查詢NHibernate的得到錯誤的日期時間範圍
SELECT *
FROM mytbl this_
WHERE this_.PRICING_DATE >= :p0 and this_.PRICING_DATE <= :p1
:p0 = 7/25/2012 12:00:00 AM [Type: DateTime (0)], :p1 = 7/26/2012 12:00:00 AM [Type: DateTime (0)]
爲什麼這個查詢將返回在7/26/2012數據?我想要的是獲取7/25的數據。
請指教。
你可以舉一個它返回的記錄的例子嗎? – 2012-07-27 13:17:14
我一直以爲你應該通過'2012年7月25日00:00:00'而不是午夜12:00:00,因爲那是午夜,不是午夜,除非orcale和MsSql不一樣 – Rippo 2012-07-27 13:31:43
@Rippo我不知道mySql,但是12:00:00 AM是午夜,而不是中午。它在概念上是在前一天之後的時刻。因爲這個數字是一個瞬間(不是持續時間或時間間隔),所以對於12:00時刻應該落在子午線的哪一側可能會引起混淆。想想這樣,12:01上午不是下午。所以爲了保持一致,我們需要有點不一致。 – Les 2012-07-27 14:36:28