保存持续时间信息到SQL Server

问题描述:

我有一个WPF应用程序,其中一个字段有一个电话呼叫长度的数字输入框,称为ActivityDuration。保存持续时间信息到SQL Server

此前,这已被保存为一个Integer值,它代表了分钟。然而,客户现在希望使用同一张桌子来记录会议,但会议可以持续4-5小时,因此输入240分钟似乎不太方便用户。

我目前正在考虑我的选项,是否将SQLDESTDuration更改为SQL 2008中的时间值,并尝试使用时间掩码输入框,或将其保留为整数,并向客户端显示2个数字输入框,一个几小时,一分钟,然后进行计算,将其作为整数分钟保存在SQL Server 2008中。

我愿意接受意见和建议。还有一点需要考虑的是,我需要能够根据ActivityDuration计算总时间,因此字段DataType应该允许将它总结起来非常简单。

新的数据类型时只支持24小时的查询,所以如果你需要更多的,你将不得不使用日期时间。 因此,如果总计7 x 4小时的会议,你会得到“4小时”回来

DB如何存储它也是如何呈现和捕获数据不同。

为什么不...... hh:nn在客户端显示并转换并存储为日期时间?

跟踪开始和结束时间,不需要屏蔽日期,因为持续时间只是两个日期之间的计算。您甚至可以在“会议”中这样做,以便一次会议可以进行多次会议(即,一次会议涵盖午餐时间,不应计入持续时间......)。

数据类型是datetime或smalldatetime。

然后获得“总持续时间”,它只是用

Select sum(datediff(mm, startdate, enddate)) from table where meetingID = 1 
+0

嗨罗布,感谢您的建议。不幸的是,我的客户只想输入开始时间和持续时间。他们希望为某些活动设定持续时间,因此标准电话为10分钟,标准会议为45分钟。它并不总是基于实时,这就是为什么他们不想要结束时间 – Mitch 2010-01-30 19:10:58