如何在SQL中表示时间段?

时间:2013-01-22 05:32:53

标签: c# sql-server sql-server-2008

我正在使用ASP.NET MVC4和SQL Server 2008。

我有一个业务要求,要求设备在X时间后服务。在维修之前,不同的设备需要不同的时间长度。

在数据库中,我需要存储设备需要维修的时间段以及下一个服务日期。

在设备编辑屏幕上,我需要一个带有选项的下拉框,允许用户选择 ServiceInterval 。实际上最好不要有固定的下拉时间,但我不确定如何做到这一点。

  • 3个月
  • 6个月
  • 9个月
  • 1年
  • 1。5年
  • 2年
  • 3年
  • 4年
  • 5年

点击“已提供服务”按钮应将 ServiceInterval 添加到当前日期,并将其放在 NextServiceDue 字段中。

存储此信息的最佳方法是什么,有没有一种好方法可以做到这一点?

谢谢你, 麦克

1 个答案:

答案 0 :(得分:2)

这取决于您想要的粒度级别,但您在数据库中使用名称和秒数或天数创建表。

从那里,当用户选择项目时,只需注明日期DateTime.Now.AddDays(userInput);DateTime.Now.AddSeconds(userInput);。您也可以将间隔期与可维护项一起存储。