0

我正在编写一个 php 函数,其中我采用 2 个参数,start_date并且end_date

我还想如果两个日期都为 Null,那么这个函数应该返回所有行

这是我的mysql查询

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

如果两个日期都可用,如果我将两个日期都用作 NULL,则此查询工作正常,它返回零行。

请告诉我如何改进此查询,以便如果两个日期均为 NULL,则它可以返回所有会议

谢谢

4

2 回答 2

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";
}
于 2013-01-23T08:10:21.020 回答
0

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

select COUNT(*) from demo_meeting
where (meeting_datetime > "2013-01-01" and  meeting_datetime < "2013-09-10") 
      or (meeting_datetime  is null);
于 2013-01-23T08:52:28.697 回答