SQl:如果date为null,则获取所有行

时间:2013-01-23 08:06:45

标签: php mysql

我正在编写一个php函数,其中我正在使用2个参数,start_dateend_date

我也想要两个日期都是Null然后这个函数应该返回所有行

这是我的mysql查询

select COUNT(*) from demo_meeting where meeting_datetime > "2013-01-01 OR NULL" and  meeting_datetime < "2013-09-10 OR NULL";

如果两个日期都可用,如果我同时使用date作为NULL,那么这个查询是正常的,它会返回Zero行。

请告诉我如何改进此查询,以便如果两个日期都是NUll则可以返回所有会议

谢谢

2 个答案:

答案 0 :(得分:1)

if (empty($start_date) &&  empty($end_date)){
     $sql="select COUNT(*) from demo_meeting where meeting_datetime > '$start_date' and  meeting_datetime < '$end_date'";
}else{
     $sql="select COUNT(*) from demo_meeting";
}

答案 1 :(得分:0)

richardo提供了很好的解决方案,但你也可以这样做:

select COUNT(*) from demo_meeting
where (meeting_datetime > "2013-01-01" and  meeting_datetime < "2013-09-10") 
      or (meeting_datetime  is null);