我有一个非常简单的SQL,可以从一系列日期中选择数据。所以,例如,如果我有,
SELECT ...... WHERE PV.[Time] BETWEEN '02/26/2014' AND '02/26/2014'
此SQL Select语句未在02/26/2014中选择数据。请帮忙
答案 0 :(得分:2)
您当前的语句BETWEEN '02/26/2014' AND '02/26/2014'
左右两侧具有相同的值,因此等同于= '02/26/2014'
。
这只会在2月26日午夜带回行。使用
WHERE PV.[Time] >= '20140226' AND PV.[Time] < '20140227'
答案 1 :(得分:1)
对于日期使用非可疑的字符串格式总是更可取(1/2/2000
可以解释为01-feb-2000或02-jan-2000,具体取决于您的本地设置)。我更喜欢ISO格式yyyymmdd
或ODBC规范yyyy-mm-dd
,并且在处理日期时始终使用CONVERT
。但这不是你的问题:))
您的查询存在的问题是您实际上是在过滤日期BETWEEN '02/26/2014 00:00:00' AND '02/26/2014 00:00:00'
,因此您只能在日期时间获得值。要获取整天02/26/2014
的日期时间值,请使用以下命令:
SELECT ...
WHERE PV.[Time] >= '2014-02-26' AND PV.[Time] < dateadd(day, 1, '2014-02-26');