2013-01-23 11 views
0

我寫在我拿着2個參數,start_dateend_dateSQL:獲取的所有行,如果日期是NUL

我也想,如果這兩個日期都是null,則此函數返回的所有行

一個PHP函數

這裏是我的MySQL查詢

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

如果兩個日期都可以,如果我同時使用日期爲NULL它返回零行此查詢工作正常。

請告訴我如何才能改善這個查詢,以便如果兩個日期都爲null,則它可能會返回所有會議

感謝

+0

確定此查詢是否正常工作?這個''「2013-09-10 OR NULL」'是一個有效的日期值? –

+0

@MahmoudGamal從demo_meeting中選擇COUNT(*),其中meeting_datetime>「2013-01-01 OR NULL」和meeting_datetime <「2013-09-10 OR NULL」; + ---------- + | COUNT(*)| + ---------- + | 20 | + ---------- + – masterofdestiny

回答

0

richardo給出了良好的解決方案,但你可以做這樣的還有:

select COUNT(*) from demo_meeting 
where (meeting_datetime > "2013-01-01" and meeting_datetime < "2013-09-10") 
     or (meeting_datetime is null); 
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"; 
} 
+0

如果'$ start_date' ='「」'''isset'將返回true。 –

+1

可能希望使用'空'來確保 – tradyblix

+0

我可以使用這個小修改 – masterofdestiny

相關問題