我有一個快速和儘快的問題。在兩者之間進行選擇不適用於MySQL?
SELECT `deals`.*
FROM `deals`
WHERE
`is_featured` = 1 AND
`status` = 'active' AND
CURDATE() BETWEEN start_date AND DATE_ADD(end_date, INTERVAL 1 DAY)
ORDER BY `end_date` DESC
LIMIT 1
這是正確的嗎?
start_date
是「2012-01-11 00:00:00」而end_date
是「2012-01-11 23:59:59」。
這就是我想要顯示:
我想說明的dealoffer,它是當前日期時間之間,如果is_featured
爲1和status
是「積極的」。
(CURDATE()
給我只日期,而不是時間,這是什麼問題?我怎樣才能在MySql中獲取當前的日期時間?)。
它應該只選擇一項交易,並且該交易應該是距離當前日期時間最近的結束日期。
是否有未來日期的交易?如果沒有,也許你可以找到最大日期的那個呢?或者如果有未來的日期,你可以尋找比當前日期更短的最大日期嗎? – DOK 2012-01-10 23:39:20
這應該工作。你會得到什麼錯誤?順便說一句,NOW()會爲你返回一個當前的日期時間。 – 2012-01-10 23:40:03
什麼數據類型是start_date和end_date? – 2012-01-10 23:41:10