2013-10-31 23 views
1

我的數據庫表包含以下細節SQL從一些基於事件日期事件條目獲得下一個即將發生的事件

Event Name Event Date     Event Status 
Event 1  2013-11-11 06:10:13.24  Active 
Event 2  2014-02-04 06:10:13.24  Active 
Event 3  2013-11-01 06:10:13.24  Active 
Event 4  2013-02-04 06:10:13.24  InActive 

如何獲得基於事件日期的下一個即將到來的活動事件。 是否有任何查詢將比較數據庫日期和當前日期並返回最近即將發生的事件。在上述情況下,SQL查詢應僅返回「事件3」

我想知道如何把日期。我的SQL條件嘗試使用Now()函數,但它給我下面的錯誤

" No authorized routine named "NOW" of type "FUNCTION" having compatible arguments was found.. SQLCODE=-440 " 
+0

我們可以看到您的查詢? – Strawberry

+0

我不使用MySql,但它從錯誤消息中顯示它沒有now()函數。 「mysql當前日期和時間」的谷歌搜索可能會導致我更好的功能。 –

+0

「mysql當前日期和時間」的谷歌搜索將確認MySQL具有NOW()函數。 – Strawberry

回答

2
select * 
from your_table 
where `event date` > CURRENT_TIMESTAMP 
and `event status` = 'Active' 
order by `event date` asc 
FETCH FIRST 1 ROWS ONLY 
+0

事件日期是數據類型TimeStamp我想這樣得到的錯誤「沒有授權例程名爲」NOW「具有兼容參數類型」功能「被發現..」當我嘗試將事件日期與now()函數進行比較。如果我錯了,請糾正我。 – Suraj

+0

它應該實際工作。見[這裏](http://sqlfiddle.com/#!2/94be0/2) –

+0

@Suraj:你真的在使用MySQL嗎?看起來像DB2 –

相關問題