SQL smalldatetime时间段23:59:30-23:59:59的问题

在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

SQL smalldatetime时间段23:59:30-23:59:59的问题_第1张图片
select * from dptStockDaily where  daytime Between '2007-07-09 00:00:00' And '2007-07-09 23:59:29' Order By daytime,DailyType

SQL smalldatetime时间段23:59:30-23:59:59的问题_第2张图片


 本来第一段sql脚本应该查询出来第二幅图片显示的结果,但是其中23:59:30-23:59:59这段时间内被sql认为为 第二天的数据。

修改办法:把字段Daytime定义为datetime即为正常情况了。

你可能感兴趣的:(SQL smalldatetime时间段23:59:30-23:59:59的问题)