MySQL在日期之间选择留空

时间:2014-02-06 05:41:44

标签: mysql date between

我正在尝试搜索。

还有一个输入startDate和另一个finalDate。

但该人可能不会输入开始日期或最终日期,也不会输入......

我试图使用:

(data BETWEEN ".$startDate." AND ".$finalDate.")

将它留空是不行的,除非我提出了开始和最终日期。

我希望即使这个人没有输入日期,也会继续寻找其余的日期。

可能吗?

2 个答案:

答案 0 :(得分:1)

==根据请求编辑==

把它放在sql查询之前:

if(empty($finalDate))
$where = "(data >= ".$startDate.")";
else if(empty($startDate))
$where =  "(data <= ".$finaltDate.")";   
else
$where = "(data BETWEEN ".$startDate." AND ".$finalDate.")";

并更改

(data BETWEEN ".$startDate." AND ".$finalDate.")

".$where."

答案 1 :(得分:0)

是的,你可以做这样的事情。

CASE WHEN  StartDate IS NOT NULL 
 AND              EndDate IS NOT NULL 
THEN Date
 BETWEEN  StartDate AND EndDate;

这只是说明如何做到这一点,试一试