从 sql 中的当前时间获取过去 24 小时
Getting last 24 hours from current time in sql
我不确定为什么 dateadd 函数在这里不起作用。我试图只从当前时间拉出最后 24 小时,但我看到像今天下午 3-6 点这样的时间。数据类型是日期时间,但我不确定这里发生了什么。
select Name, location, myDate from myTable where myDate >= DATEADD(hh, -24, GETDATE())
当我 运行 结果上方的查询将包括:
2015-03-05 15:00:00.000
2015-03-05 15:30:00.000
2015-03-05 16:00:00.000
2015-03-05 16:30:00.000
2015-03-05 17:00:00.000
2015-03-05 17:30:00.000
2015-03-05 18:00:00.000
2015-03-05 18:30:00.000
2015-03-05 19:00:00.000
2015-03-05 19:30:00.000
2015-03-05 20:00:00.000
2015-03-05 20:30:00.000
2015-03-05 21:00:00.000
2015-03-05 21:30:00.000
2015-03-05 22:00:00.000
2015-03-05 22:30:00.000
2015-03-05 23:00:00.000
2015-03-05 23:30:00.000
我原以为根本看不到这些时间。
使用BETWEEN,即
select Name, location, myDate from myTable where myDate between DATEADD(hh, -24, GETDATE()) and GETDATE()
这 myDate >= DATEADD(hh, -24, GETDATE())
为您提供 myDate 大于 24 小时前的所有记录,包括具有未来日期的记录(如果它们具有未来日期是正确的则另当别论...)
我不确定为什么 dateadd 函数在这里不起作用。我试图只从当前时间拉出最后 24 小时,但我看到像今天下午 3-6 点这样的时间。数据类型是日期时间,但我不确定这里发生了什么。
select Name, location, myDate from myTable where myDate >= DATEADD(hh, -24, GETDATE())
当我 运行 结果上方的查询将包括:
2015-03-05 15:00:00.000
2015-03-05 15:30:00.000
2015-03-05 16:00:00.000
2015-03-05 16:30:00.000
2015-03-05 17:00:00.000
2015-03-05 17:30:00.000
2015-03-05 18:00:00.000
2015-03-05 18:30:00.000
2015-03-05 19:00:00.000
2015-03-05 19:30:00.000
2015-03-05 20:00:00.000
2015-03-05 20:30:00.000
2015-03-05 21:00:00.000
2015-03-05 21:30:00.000
2015-03-05 22:00:00.000
2015-03-05 22:30:00.000
2015-03-05 23:00:00.000
2015-03-05 23:30:00.000
我原以为根本看不到这些时间。
使用BETWEEN,即
select Name, location, myDate from myTable where myDate between DATEADD(hh, -24, GETDATE()) and GETDATE()
这 myDate >= DATEADD(hh, -24, GETDATE())
为您提供 myDate 大于 24 小时前的所有记录,包括具有未来日期的记录(如果它们具有未来日期是正确的则另当别论...)