如何使用SQL datetime字段在一定时间后获取记录

thu*_*eek 16 sql sql-server datetime

如果我有一个日期时间字段,我如何获得仅在某个时间之后创建的记录,完全忽略日期?

它是一个记录表,它告诉人们何时连接并在我们的应用程序中执行某些操作.我想知道人们在晚上5点以后的频率.

(对不起 - 它是SQL Server.但这可能对其他人有用)

Luk*_*ett 19

对于SQL Server:

select * from myTable where datepart(hh, myDateField) > 17
Run Code Online (Sandbox Code Playgroud)

请参阅http://msdn.microsoft.com/en-us/library/aa258265(SQL.80).aspx.


Thi*_*ilo 5

您使用的是什么数据库系统?日期/时间功能差异很大.

对于Oracle,你可以说

SELECT * FROM TABLE 
  WHERE TO_CHAR(THE_DATE, 'HH24:MI:SS') BETWEEN '17:00:00' AND '23:59:59';
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要翻到第二天,并选择午夜和早上6点之间的时间.

  • 这个不会返回午夜前 1/2 秒的行。为什么不只是 >= '17:00:00'。 (2认同)