作者aoksc (重出江湖)
看板C_Sharp
标题[问题] ADO.NET查询时间区间突然查不到?
时间Sun May 10 21:31:57 2015
请问各位
我用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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1431264721.A.BBC.html
1F:推 J002: 可以贴完整一点的code吗?刚刚自己试了一下是没问题的@@" 05/10 23:50
2F:→ J002: 不过小弟的资料库用的是Sql Server 2012 不知到会不会有差异 05/10 23:51
3F:→ J002: 道 05/10 23:51
4F:推 Litfal: 用 AddWithValue 比较不容易搞错,另外你可以想办法把实际 05/11 00:16
5F:→ Litfal: 的SQL显示出来 05/11 00:16
6F:→ aoksc: 抱歉乌龙一场 原来在条件的部份我把时间的栏位取错了 囧 05/11 06:53
7F:→ aoksc: 用2015/05/04可应该是因为他的时间是2015/05/04 00:00:00 05/11 07:52