请问如何在MySQL中获取两个日期之间的日期列表选择查询

如何在MySQL中获取两个日期之间的日期列表选择查询

我希望通过选择查询将日期列表放在两个日期之间。例如:

如果我给“2012-02-10”和“2012-02-15”,我需要结果。

date      
----------
2012-02-10
2012-02-11
2012-02-12
2012-02-13
2012-02-14
2012-02-15

我怎么能得到?


摇曳的蔷薇
浏览 777回答 3
3回答

潇潇雨雨

试着:select * from (select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date from  (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select   7 union select 8 union select 9) t0,  (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select   7 union select 8 union select 9) t1,  (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select   7 union select 8 union select 9) t2,  (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select   7 union select 8 union select 9) t3,  (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select   7 union select 8 union select 9) t4) vwhere selected_date between '2012-02-10' and '2012-02-15'-今后的日期可达近300年。[根据UrvishAtSynapse提出的编辑建议进行更正。]

POPMUISE

set&nbsp;@i&nbsp;=&nbsp;-1;SELECT&nbsp;DATE(ADDDATE('2012-02-10',&nbsp;INTERVAL&nbsp;@i:=@i+1&nbsp;DAY))&nbsp;AS&nbsp;date&nbsp;FROM&nbsp;`table`HAVING&nbsp;@i&nbsp;<&nbsp;DATEDIFF('2012-02-15',&nbsp;'2012-02-10')这将完全按照规定返回结果集。此查询只需要在datediff和adddate中更改两个不同的日期。

呼如林

您可以创建一个表,其中包含您可能需要使用的所有日期:date2000-01-012000-01-022000-01-03...etc..2100-12-302100-12-31然后按以下方式查询该表:SELECT dateFROM datesWHERE date BETWEEN '2012-02-10' AND '2012-02-15'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL