【发布时间】:2014-11-06 20:46:39
【问题描述】:
我有如下 SQL 语句:
SELECT *
FROM tbl_test
WHERE Carrier='XYZ'
&& DateTime >= "2014-11-03"
&& DateTime <= "2014-11-06"
发生的情况是,尽管第二个逻辑运算包括日期 2014-11-06,但搜索仅返回日期 2014-11-03 到 2014-11-05 的结果。
需要帮助来指导我可能出错的地方。
谢谢。
昙花一现
【问题讨论】:
-
哪个数据库引擎? (Oracle、MySQL、SQL Server 等)
-
您的日期字段是否包含时间组件?因为 2014-11-06 00:00:01 不符合条件。
-
为什么不使用
BETWEEN关键字? -
SELECT * FROM tbl_test where Carrier='XYZ' && DateTime >= "2014-11-03" && DateTime < "2014-11-07"会给您预期的结果吗? (在第 2 个日期添加 1 并在第 2 个日期删除 =。另一种方法是在第二个日期时间比较时截断日期时间的时间部分。
标签: sql logical-operators