用于时间戳操作的 SQL 函数是什么?

Eri*_*roy 1 sql sql-server

我是 SQL 新手,时间函数与 mySQL 不同,所以我很难通过有用的时间戳查询找到一个好的站点参考。

我无法找到在 SQL 中执行此查询的正确方法:

Id          Timestamp
-----------------------------------
1145744 2012-10-10 18:15:11.500
1145743 2012-10-10 18:15:11.313
1145742 2012-10-10 18:15:11.313
1145741 2012-10-10 18:15:11.253
1145740 2012-10-10 18:15:11.190
1145739 2012-10-10 18:15:11.190
1145738 2012-10-10 18:15:11.127
1145737 2012-10-10 18:15:11.067
1145736 2012-10-10 18:15:11.063
1145735 2012-10-10 18:15:10.940
1145734 2012-10-10 18:15:10.817


SELECT * from table WHERE Timestamp ... RANGE
Run Code Online (Sandbox Code Playgroud)

我需要 2 个时间戳的范围,以便我可以通过以下参数选择行:

  1. 第二范围
  2. 分钟范围
  3. 小时范围
  4. 日范围
  5. 周范围
  6. 月份范围
  7. 年份范围

是否有一个函数可以输入 2 个时间戳并获取范围?或者这是我需要的功能的组合?

任何好的网站参考都会受到极大的重视。MSDN 网站没有帮助我找出执行此操作的正确方法。我已经搜索了大约一个小时,试图找到今天下午 1:30 到下午 1:30 的最后一天。

sol*_*anv 5

您可以使用<code>DATEPART</code>来获取:

second, minute, hour, day, week, month, year

更多参考

使用where条件来获得所需的范围。