我需要在我的 Sql 服务器中进行两次比较,一次在日期之间进行,一次在时间之间进行。我正在使用 C# 和 Sql Server 以及 Linq-to-sql。我想存储两个时间字段(进入时间,退出时间)。现在我想得到差异(例如 12:30 , 18:15 差异是 5:45)。我应该使用什么数据类型?我对日期有同样的问题,我想得到两个日期的差异,但是“日期时间”数据类型存储了关于时间的冗余数据,我只需要日期。我想要最简单的方法和最少的代码。我目前正在保存这样的“1045”,当我获取它时,我在中间添加了一个“:”,它变成了“10:45”,这样会有很多问题。
问问题
650 次
2 回答
3
如果需要存储日期,可以使用date
数据类型。同样对于时间,您可以使用time
数据类型。
要计算差异,您可以使用DATEDIFF()
返回两个日期之间差异的 sql 函数:http: //msdn.microsoft.com/en-us/library/ms189794.aspx
我建议不要将您的数据存储为string
等int
。按预期使用数据类型。
于 2012-07-03T13:27:08.213 回答
1
对于存储数据,您可以使用日期类型或时间类型。完成此操作后,可以(在您的应用程序中)使用TimeSpan结构来测量时间/日期的差异。如果您从另一个日期中减去一个日期,那么您将收到一个 TimeSpan 对象。
var difference = Date1.Subtract(Date2);
于 2012-07-03T13:27:54.010 回答