MySQL日期添加行为

MySQL日期添加行为,mysql,Mysql,我已经编写了一些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) mi

我已经编写了一些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);

然后在那里结束。但它却一直持续到2013-08-06 23:30:00。我尝试了不同的最大日期,它总是返回一天结束的日期。有人能解释一下发生了什么,以及如何在我需要时停止吗?

首先想到的是将日期字符串转换为日期格式,而不是字符串,例如:

cast('2013-08-05T23:00' as smalldatetime)
cast('2013-08-05T23:00' as smalldatetime)