Php SQl:如果日期为nul,则获取所有行
我正在编写一个php函数,其中包含两个参数,Php SQl:如果日期为nul,则获取所有行,php,mysql,Php,Mysql,我正在编写一个php函数,其中包含两个参数,start\u date和end\u date 我还希望如果两个日期都为空,那么这个函数应该返回所有行 这是我的mysql查询 select COUNT(*) from demo_meeting where meeting_datetime > "2013-01-01 OR NULL" and meeting_datetime < "2013-09-10 OR NULL"; 从演示会议中选择计数(*),其中会议日期时间>“2013-01
start\u date
和end\u date
我还希望如果两个日期都为空,那么这个函数应该返回所有行
这是我的mysql查询
select COUNT(*) from demo_meeting where meeting_datetime > "2013-01-01 OR NULL" and meeting_datetime < "2013-09-10 OR NULL";
从演示会议中选择计数(*),其中会议日期时间>“2013-01-01或空”和会议日期时间<“2013-09-10或空”;
如果两个日期都可用,则此查询工作正常如果我将两个日期都用作NULL,则返回零行
请告诉我如何改进此查询,以便在两个日期都为空时返回所有会议
感谢if(空($start\u date)和空($end\u date)){
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";
}
$sql=“从演示会议中选择计数(*),其中会议日期时间>会议开始日期>会议日期时间>会议结束日期”;
}否则{
$sql=“从演示会议中选择计数(*)”;
}
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-01”和会议日期时间<“2013-09-10”)
或(会议日期时间为空);
您确定此查询工作正常吗?此“2013-09-10或NULL”
如何为有效的日期值?@MahmoudGamal从演示会议中选择COUNT(),其中会议日期时间>“2013-01-01或NULL”和会议日期时间<“2013-09-10或NULL”+--------------+|如果$start\u date
=“
”,则COUNT()|+------------+--+--20 |+------------+isset将返回true。可能需要使用empty
,以确保我可以通过小的修改来使用它