看板 C_Sharp 關於我們 聯絡資訊
請問各位 我用ADO.NET下SQL指令查詢遇到一個問題 我條件是這麼寫的 … AND CreateDateTime BETWEEN @SevenDaysAgo AND CURRENT_TIMESTAMP cmd.Parameters.Add("@SevenDaysAgo", SqlDbType.DateTime); cmd.Parameters[1].Value = DateTime.Now.AddDays(-7); 我是想撈出前七天到目前時間的資料 到今天下午都還能正常跑出來 不過晚上再試就不行了 我有試著把@SevenDaysAgo改成'2015/05/03'就能出來了(在程式中或上SQL Server執行) DateTime.Now.AddDays(-7)的結果的確是2015/05/03 所以應該不是其他條件的關係(其實也只有兩個條件) CURRENT_TIMESTAMP我有試過換成GETDATE一樣不行 請問是我寫的方式不對嗎? 我的環境SQL Server 2014 資料庫的時間有 2015-05-10 09:04:05.883 2015-05-09 17:54:44.460 2015-05-09 17:49:17.997 2015-05-09 17:47:16.490 2015-05-09 17:46:36.173 2015-05-09 17:43:28.100 2015-05-09 17:41:08.323 2015-05-09 17:15:00.083 2015-05-06 22:08:39.537 奇怪的是只有2015-05-06這筆有出來 09跟10的資料都沒出來 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.175.163 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1431264721.A.BBC.html
J002: 可以貼完整一點的code嗎?剛剛自己試了一下是沒問題的@@" 05/10 23:50
J002: 不過小弟的資料庫用的是Sql Server 2012 不知到會不會有差異 05/10 23:51
J002: 道 05/10 23:51
Litfal: 用 AddWithValue 比較不容易搞錯,另外你可以想辦法把實際 05/11 00:16
Litfal: 的SQL顯示出來 05/11 00:16
aoksc: 抱歉烏龍一場 原來在條件的部份我把時間的欄位取錯了 囧 05/11 06:53
aoksc: 用2015/05/04可應該是因為他的時間是2015/05/04 00:00:00 05/11 07:52