在SQL中应该如何表示时间段



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

我有一个业务需求,要求设备在X时间后提供服务。不同的设备项目在维修前需要不同的时间。

在数据库中,我需要存储设备需要维修的周期,以及下一次维修的日期。

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

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

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

存储这些信息的最佳方式是什么,是否有更好的方法?

谢谢你,迈克

这取决于您想要的粒度级别,但是您可以在数据库中创建一个具有名称和秒数或天数的表。

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

最新更新