将时间值存储在数据库中并获取两个时间字段之间的差异

时间:2010-07-01 06:25:05

标签: sql sql-server database

我正在处理应用程序中的商店时间值在数据库中,例如预期到达时间和实际到达时间。将这些字段存储在数据库中的最佳方法是什么?

我可以使用什么SQL查询来获取两个字段之间的时差?

1 个答案:

答案 0 :(得分:2)

如果您使用的是SQL Server 2008,请使用TIME数据类型。声明这两个字段

ExpectedTimeOfArrival TIME(7),
ActualTimeOfArrival TIME(7)

了解如何操作TIME数据类型here

准备好这两个字段后,您可以在表格中添加一个计算列,用于计算这两个字段之间的差异,例如:在几分钟内:

ALTER TABLE dbo.YourTable
   ADD TimeDifference AS DATEDIFF(MINUTE, ActualTimeOfArrival, ExpectedTimeOfArrival)

然后您可以查询新列TimeDifference,就像它是普通的常规表列一样。