在sql查询中如果字段定义为smalldatetime,并且查询 时间为当天日期的23:59:59时,会莫名其妙的发现其中23:59:30-23:59:59这段时间会被认为为第二天的数据,请看例子:(其中Daytime被定义为smalldatetime)
select * from dptStockDaily where daytime Between '2007-07-09 00:00:00' And '2007-07-09 23:59:59' Order By daytime,DailyType
select * from dptStockDaily where daytime Between '2007-07-09 00:00:00' And '2007-07-09 23:59:29' Order By daytime,DailyType
本来第一段sql脚本应该查询出来第二幅图片显示的结果,但是其中23:59:30-23:59:59这段时间内被sql认为为 第二天的数据。
修改办法:把字段Daytime定义为datetime即为正常情况了。