2012-08-22 20 views
0

我們可以用where子句,因爲這如何在爲TIME_TO_SEC(TIMEDIFF價值條款?

TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) >70 

我們現在需要檢查運行MySQL查詢檢查null是哪裏試圖把空值= null,但它沒有顯示出來?需要什麼樣的?

樣本查詢如下謝謝你它的作品。我的下一個問題,我現在應該指數lastEvenTime列?

SELECT 
    tblTimeLog.timeLogID, 
    TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) As timeDifference 
FROM tblTimeLog 
WHERE tblTimeLog.timeID = 2209 
And (TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) IS NULL 
    OR TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) > 100) 
+0

將代碼塊中的代碼,並至少告訴我們更多的信息 – FaddishWorm

+0

檢查NULL值,MySQL的比較操作符是'欄是NULL'或'列不NULL'; (但不是'column = NULL')... – feeela

+0

你能提供完整的查詢嗎? –

回答

2

可以將這段

And (TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) IS NULL 
    OR TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) > 100) 

and (lastEventTime IS NULL 
OR TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12',lastEventTime)) > 100) 

,或者使用與​​3210適當選擇的默認值(在NULL情況下):

and TIME_TO_SEC(TIMEDIFF('2012-08-22 06:25:12', 
    coalesce(lastEventTime, '1900-01-01')) > 100 

儘管聚結位僅用於WHERE子句相關;對於SELECT部分,你會得到NULL如果lastEventTime是NULL

+0

那麼你建議的最佳選擇是哪一個?我從來沒有使用聚結?我應該索引基於時間的列的lastEventTime嗎? – user837306