我正在使用此查询来获取两个日期之间的行但我没有从数据库中获取行,它返回一个空集(在db中我有那天的行)
查询:
select email
from users
where date_email_sent between '17-May-12' AND '17-May-12'
Run Code Online (Sandbox Code Playgroud)
当我尝试下面的查询时,我将独自获得第17行
查询:
select email
from users
where date_email_sent between '17-May-12' AND '18-May-12'
Run Code Online (Sandbox Code Playgroud)
如果开始日期和结束日期相同,任何人都可以建议我如何单独获得第17条记录.
提前致谢.
小智 6
date_email_sent是否具有日期时间值?如果像2012-05-17 09:30:00.000这样的列值同时包含日期和时间,那么您可能需要将时间与日期值一起放在where子句中,
例如
where date_email_sent between '17-May-12 00:00:00.000' AND '17-May-12 23:59:59.000'
Run Code Online (Sandbox Code Playgroud)
或者您只能查看该字段的日期值
where DATEADD(dd, 0, DATEDIFF(dd, 0, date_email_sent )) between '17-May-12' AND '17-May-12'
Run Code Online (Sandbox Code Playgroud)
如果只放置日期,SQL总是考虑为12am,因此如果要将日期与datetime值进行比较,则会出现问题