如果开始日期和结束日期相同,则SQL BETWEEN注释无效

时间:2015-08-13 05:39:00

标签: sql

查询

$dateCond = " AND TIMESTAMP BETWEEN $startTime AND $endTime";

SELECT TITLE, PID, TYPE
  FROM REPORT_LIST_VIEW
 WHERE $dateCond
 GROUP BY TITLE, PID, TYPE 
 ORDER BY TITLE DESC`

如果开始日期和结束日期不同,此查询可以正常工作。两者都相同时失败。我的查询是否有任何错误。

或者我需要尝试

$dateCond = " AND TIMESTAMP >= $startTime AND TIMESTAMP <= $endTime";

2 个答案:

答案 0 :(得分:0)

Between包括边缘 假设您的开始和结束日期是2015年12月30日00:00:00 所以只有在这个特定的秒(或甚至相同的毫秒),你才能得到结果

  

或者我需要尝试

     

$ dateCond =&#34; AND TIMESTAMP&gt; = $ startTime AND TIMESTAMP&lt; = $ endTime&#34 ;;

这将为您提供与

之间使用相同的结果

有关详细信息:Related question

答案 1 :(得分:0)

从此声明中删除AND $datecond=" AND TIMESTAMP BETWEEN $startTime AND $endTime"; 除非它导致sql错误,因为查询变为where AND ...这是错误的语法,否则你可以1=1 $dateCond = " AND TIMESTAMP BETWEEN $startTime AND $endTime";.