日期:2014-05-18  浏览次数:20479 次

SQL2008中关于表中时间字段数据类型的问题
现在由于业务需求设计一张表,表中字段有编号(Id)、开始时间(starttime)、结束时间(endtime),如下:

Id starttime endtime
1 9:30 11:30
2 14:30 15:30
3 18:30 20:30
现在的问题是startiem字段和endtime字段,数据类型不好确定。因为在存储过程中需要用这张表判断系统时间是否在表中时间范围之类。这里就牵扯到时间计算的问题。例如:系统时间是2012-5-21 8:00,那么需要判断在2012-5-21 9:30 到 2012-5-21 11:30、2012-5-21 14:30 到 2012-5-21 15:30、2012-5-21 18:30 到 2012-5-21 20:30,这三个时间段之间。时间段相当于是系统日期加上starttime和endtime组成(2012-5-21 9:30),那么我这个starttime和endtime应该设置成什么数据类型方便计算呢??请高手解答。最好是用代码举个例子。

------解决方案--------------------
提供三个时间类型:datetiem(yy-mm-dd hh:mm:ss.sss),smalldatetime(yy-mm-dd hh:mm:ss),time(hh:mm:ss)
------解决方案--------------------
探讨

引用:
2008 R2 引用了时间字段,time类型, LZ也可以参考。

我知道可以用time类型,但是是怎么计算日期+时间
例如:
'2012-5-21'和'09:30'组成'2012-5-21 09:30'