MySQL日期范围使用PHP变量和STR_TO_DATE

时间:2017-06-20 15:53:12

标签: php mysql

通过此次调用将值传递给fromto后:

getTransactions.php?from=05/01/17&to=05/31/17

我从MySQL调用中得不到任何结果:

$data = $pdoProducts->query("SELECT * FROM `transactions`
        WHERE STR_TO_DATE(date, '%m/%d/%y') 
        BETWEEN STR_TO_DATE($from, '%m/%d/%y') 
        AND STR_TO_DATE($to, '%m/%d/%y')")->fetchAll(PDO::FETCH_ASSOC);

我有几个其他调用使用STR_TO_DATE方法和表中的日期工作,所以我知道表中的数据格式正确。

但是,我还是无法让这个日期范围起作用。我格式化错了吗?

1 个答案:

答案 0 :(得分:0)

如果数据类型为varchar

SELECT * FROM user_attendance
WHERE STR_TO_DATE(date, '%d/%m/%Y') 
BETWEEN STR_TO_DATE('21/05/2014', '%d/%m/%Y') 
AND STR_TO_DATE('21/06/2014', '%d/%m/%Y')