MySQL BETWEEN无法正常工作

时间:2016-02-04 08:32:32

标签: mysql

我有一张包含客户数据的表格。每个条目都有指定的客户以及开始日期和结束日期。我想显示在两个变量之间开始的特定客户数据,即我要求前端的用户选择1.一个客户,并且2. startdate从x和y之间的某个位置开始。因此,显示的数据不会考虑结束日期,因为更重要的是查看在该时间范围内开始的数据,而不是结束的数据。
我曾经这样做过:

WHERE c2c.CUSTOMER LIKE '%". $customers ."%' 
AND (MASTER.MASTER_SCHEDULED_START_DATE >= '". $datumanf . "' 
AND MASTER.MASTER_SCHEDULED_START_DATE <= '". $datumend . "')

这看起来很有效!直到我注意到它只显示开始日期和结束日期在同一天的数据。

在研究Stackoverflow之后,我尝试了MySQL BETWEEN

WHERE c2c.CUSTOMER LIKE '%". $customers ."%' 
AND (MASTER.MASTER_SCHEDULED_START_DATE BETWEEN 
    '". $datumanf . "' AND '". $datumend . "')

但是这仍然以某种方式考虑了结束日期,因为它显示了与之前完全相同的结果:只有那些startdate和enddate在同一天和那个定义范围之间的结果。我不明白这一点,因为我在这个查询中根本没有使用结束日期。

2 个答案:

答案 0 :(得分:1)

这可能会帮助你..

WHERE c2c.CUSTOMER LIKE '%". $customers ."%' 
AND (MASTER.MASTER_SCHEDULED_START_DATE) BETWEEN 
('". $datumanf . "' AND '". $datumend . "')

答案 1 :(得分:0)

在评论部分首先回答@corinagheorge的答案。我必须先设置数据类型。