私はすばやく問題を抱えています。の間で選択すると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
これは正しいですか?
は「2012-01-11 00:00:00」、end_date
は「2012-01-11 23:59:59」です。
を、私は、現在の日時の間とis_featured
が1であるとstatus
は「アクティブ」であればあるdealofferを表示したい:
これは私が表示したいものです。
(CURDATE()
は、時間ではなく日付のみを表示しますが、これは問題ですか?MySqlで現在の日時はどのように取得できますか?)
これは1つの取引のみを選択し、この取引は現在の日時から最も近い終了日を持つ取引である必要があります。ここで
将来の予定はありますか?そうでない場合は、代わりに最大日付のものを見つけることができますか?または、将来の日付がある場合は、現在の日付よりも小さい最大日付を探すことができますか? – DOK
それはうまくいくはずです。どのようなエラーが出ますか?ところで、NOW()は現在の日時を返します。 –
どのデータ型がstart_dateとend_dateですか? –