我需要在我的Sql服务器中进行两次比较,一次在Dates之间,一次在Times之间。我正在使用C#和Sql Server以及Linq-to-sql。我想存储两个时间字段(Enter-Time,Exit-Time)。现在我想得到不同(例如12:30,18:15,差异是5:45)。我应该使用什么数据类型?我和Dates有同样的问题,我希望得到两个日期的差异,但“DateTime”数据类型存储有关时间的冗余数据,我只需要日期。我希望以最简单的方式使用最少的代码。我正在保存这样的“1045”,当我拿到它时,我在中间添加了一个“:”,它变成了“10:45”,这样就有很多问题。
答案 0 :(得分:3)
如果需要存储日期,可以使用date
数据类型。同样,有时候,您可以使用time
数据类型。
要计算差异,您可以使用DATEDIFF()
sql函数返回两个日期之间的差异:http://msdn.microsoft.com/en-us/library/ms189794.aspx
我建议您不要将数据存储为string
,int
等。请按原样使用数据类型。
答案 1 :(得分:1)
要存储数据,您可以使用日期类型或时间类型。执行此操作后,可以使用TimeSpan结构(在您的应用程序中)来衡量时间/日期的差异。如果从另一个日期中减去一个日期,那么您将收到一个TimeSpan对象。
var difference = Date1.Subtract(Date2);