你可不要骗我。是 2017-1-25=>Time 这样子吧
你在 EndTime 后面加上" 23:59:59.999"
‘2017-1-25 23:59:59.999’=>Time 这样就能出来了吧。
我是直接从用户那个获取数据,用的是时间控件,获取到的是没有时间分秒的,然后数据库是有时分秒的,我想怎么处理从用户那里得到的string EndTime="2017-1-25";加上1天时间,这样我就可以在数据查出2017-01-25 10:46:04.080,不然2017-1-25是小于这个时间的,查不出
Time是数据库那个时间的字段
不好意思,是我没理解你的意思吧,你是说EndTime=“‘2017-1-25”+“23:59:59.999”;?
建议使用
Time < '2017-1-26'
或者使用(性能上有影响)
WHERE CAST(Time AS DATE) <= '2017-1-25'
我是直接从用户那里获取查询值,不是自己给的,从用户那里获取到的就是string EndTime="2017-1-25";,所以我也是想把EndTime+1,可是我不知道怎么处理让25变成26,最终得到string EndTime="2017-1-26";
@你猜丶: 是在C#代码中加1还是在SQL语句中加1?
@dudu: C#中或者SQL都可以,不过我SQL语句是这样的:Select * From DataExchangeInfo where Time=EndTime
@你猜丶:
可以这样,但Time的索引会用不上
Select * From DataExchangeInfo where CAST(Time AS DATE)=EndTime
如果要使用Time的索引,可以这样
SELECT *
FROM DataExchangeInfo
WHERE @Time >= CAST(@EndTime AS DATE) AND @Time < CAST(DATEADD(DAY, 1, @EndTime) AS DATE)
@dudu: 不行额,在C#中怎么写呢?
var nextDate=DateTime.Parse(EndTime).AddDays(1);
sql : Select * From DataExchangeInfo where Time<nextDate