markokstate Asked: 2016-10-20 14:20:03 +0800 CST2016-10-20 14:20:03 +0800 CST 2016-10-20 14:20:03 +0800 CST 查找时间范围内的交易,忽略日期 772 我的客户想知道所有在夜间登录系统的人。我保留所有登录时间。基本上是在寻找今年全年从凌晨 1 点到 5 点登录的任何人。有没有办法使用 SQL 找到它? 我使用 24 小时制以基本日期时间格式保存我的时间。 t-sql 1 个回答 Voted Best Answer Randolph West 2016-10-20T14:48:06+08:002016-10-20T14:48:06+08:00 我想你会很好用DATEPART。 假定以下列存在,并假定日期和时间不测试夏令时。 这将从 1 月 1 日起时间在凌晨 1 点到下午 5 点之间的表中选择所有 UserID。 SELECT UserID, LoginDate FROM [dbo].[LoginDates] WHERE [LoginDate] > '20160101' AND DATEPART(HOUR,[LoginDate]) >= 1 AND DATEPART(HOUR,[LoginDate]) < 5 注意事项: 将LoginDate > '20160101'在 2016 年 1 月 1 日午夜后检查所有登录。 我使用>=and<而不是BETWEEN,因为它更准确。
我想你会很好用
DATEPART
。假定以下列存在,并假定日期和时间不测试夏令时。
这将从 1 月 1 日起时间在凌晨 1 点到下午 5 点之间的表中选择所有 UserID。
注意事项:
将
LoginDate > '20160101'
在 2016 年 1 月 1 日午夜后检查所有登录。我使用
>=
and<
而不是BETWEEN
,因为它更准确。