我正在处理应用程序中存储数据库的时间值,例如预计到达时间和实际到达时间。将这些字段存储在数据库中的最佳方式是什么?将时间值存储在数据库中并获取两个时间字段之间的差异
可以使用什么SQL查询来获取两个字段之间的时间差?
我正在处理应用程序中存储数据库的时间值,例如预计到达时间和实际到达时间。将这些字段存储在数据库中的最佳方式是什么?将时间值存储在数据库中并获取两个时间字段之间的差异
可以使用什么SQL查询来获取两个字段之间的时间差?
如果您使用SQL Server 2008,请使用TIME
数据类型。声明这两个领域
ExpectedTimeOfArrival TIME(7),
ActualTimeOfArrival TIME(7)
如何操纵TIME数据类型here阅读起来。
一旦你有了这两个字段,你可以添加一个计算列到你的表中,计算出这两个字段之间的差异,例如,在分:
ALTER TABLE dbo.YourTable
ADD TimeDifference AS DATEDIFF(MINUTE, ActualTimeOfArrival, ExpectedTimeOfArrival)
,然后你可以查询但愿新列TimeDifference
就好像它是一个正常的,常规的表列。
Thanx Marc_s 在什么元素中,我用来填写时间字段..我使用datetimepicker或文本框?如果我使用文本框,如何将其转换为时间? Thanx – Allan 2010-07-01 06:57:22
@Allan:我可能会使用一个文本框,并可能使用正则表达式进行备份以确保用户以'hh:mm:ss'的形式在该文本框中输入内容(并以其他方式将其拒绝为无效) – 2010-07-01 08:22:40
SQL Server的**版本**? 2005年没有“TIME”数据类型,而2008年没有。 – 2010-07-01 06:27:53