私は次のように2つの時間の間の日付の範囲を与えるためにいくつかのSQLを書きました:
select date_add(x.min_date, interval ((t500.id-1) * 30) minute) period
from (
select '2013-08-05T23:00' as min_date, '2013-08-06T01:00' as max_date
) x,
t500
where date_add(x.min_date, interval ((t500.id-1) * 30) minute) <= x.max_date);
ここで、T500 は列 ID が 1 から 500 の単純なテーブルで、ループのシミュレーションに使用します。
今、私はこれが返されることを期待しています:
2013-08-05 23:00:00
2013-08-05 23:30:00
2013-08-06 00:00:00
2013-08-06 00:30:00
2013-08-06 01:00:00
そしてそこで終わります。しかし、代わりに 2013-08-06 23:30:00 まで続きます。さまざまな最大日付を試しましたが、常に日付が一日の終わりに返されます。誰かが何が起こっているのか、そして私が望むときにそれを止める方法を説明できますか?