我对ASP.NET和SQL比较陌生,所以我很难找出如何比较两个时间列。我有一个时间戳列,然后在.mdb数据库中有一个Now()列。我需要从时间戳中获得一个gridview显示“大于或等于3小时”的记录。任何想法我可以做到这一点?比较ASP.NET中的两个时间列
回答
Transact-SQL时间戳记数据类型是一种二进制数据类型,没有与时间相关的值。
所以要回答你的问题:有没有办法从时间戳类型列中获取日期时间值?
答案是:没有
你需要datetime2
类型的另一列,并使用>
运营商来进行比较。您可能需要设置默认值getutcdate()
以在插入每行时进行设置。
UPDATE:
由于列是datetime
型的,而不是timestamp
类型(有SQL Server中的类型,称为timestamp
,因此混乱),你可以做
WHERE [TimeCalled] <= DATEADD(hour, -3, GETDATE())
制作确定你的服务器和你的代码在同一时区运行。以UTC存储所有日期可能更安全。在这种情况下,请使用GETUTCDATE
代替GETDATE
谢谢你的回复。不过,我不确定我是否理解你的回复。让我更好地解释我正在做什么。我有一个.mdb文件,我需要比较一个使用Now()函数获得时间戳的列。我在数据库中输入记录,并使用Now()函数为输入该记录时的“TimeCalled”列添加时间戳。然后我需要在gridview或listview中显示所有3小时或更长时间的记录。此列是“日期/时间”数据类型。如何编写SQL语句来选择那些3小时或更长的记录? –
再次感谢您的快速回复!我现在就给这个镜头吧!我不确定如何使用DATEADD函数。对不起,再次感到困惑! –
将'> ='更改为'<=',因为我认为您最近3小时内想要记录。 –
时间戳通常用于跟踪对记录的更改,并且每次记录更改时都会更新。如果你想存储一个特定的值,你应该使用日期时间字段。
如果您使用的是DATETIME列和你想要的结果TSQL尝试
DATEDIFF(Hour, 'Your DateTime Column here', 'pass Now() here')
尝试在TSQL执行这个例子:
select DATEDIFF(Hour, '2012-11-10 00:00:59.900', '2012-11-10 05:01:00.100')
- 1. 比较两个时间序列
- 2. 比较两个时间戳
- 3. 比较两个时间值
- 4. 两个时间比较
- 5. 比较两个时间值
- 6. 比较java中的两个时间值
- 7. 在Python中比较两个时间戳
- 8. 比较两个MYSQL表之间的列
- 9. 日期时间比较更新两列
- 10. 比较两个数据库之间的列比较
- 11. 比较两个时间值和阵列中的
- 12. 只比较postgres中两个时间戳的时间
- 13. 比较两个日期时间
- 14. 如何比较两个时间戳erlang?
- 15. 比较两个日期时间范围
- 16. 比较两个ABAP时间/日期戳
- 17. 比较两个日期时间
- 18. MySQL比较两个日期时间date_add
- 19. 比较两个时间戳甲骨文
- 20. 比较两个时间戳Codigniter
- 21. 如何比较两个日期时间
- 22. 比较建立在两个时间点
- 23. SQL比较两个unix时间戳?
- 24. 比较两个日期,不管时间。
- 25. KRL:比较两个时间戳
- 26. 如何比较R中两个不同时间序列的两个预测图?
- 27. Java中两个ResultSet之间的比较
- 28. 将SQL中的两个值与列之间的比较进行比较
- 29. Powershell:如何减少两个阵列的比较时间
- 30. 确定算法的运行时间以比较两个阵列
当使用日期时间或时间戳[HERE ](http://stackoverflow.com/questions/5989539/when-to-use-datetime-or-timestamp) – Alaa