幕布斯6054654
2019-07-15 19:09:50
如何在MySQL中獲取兩個(gè)日期之間的日期列表選擇查詢我希望通過選擇查詢將日期列表放在兩個(gè)日期之間。例如:如果我給“2012-02-10”和“2012-02-15”,我需要結(jié)果。date
----------
2012-02-10
2012-02-11
2012-02-12
2012-02-13
2012-02-14
2012-02-15我怎么能得到?
3 回答

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
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'

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
set @i = -1;SELECT DATE(ADDDATE('2012-02-10', INTERVAL @i:=@i+1 DAY)) AS date FROM `table`HAVING @i < DATEDIFF('2012-02-15', '2012-02-10')

絕地?zé)o雙
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以創(chuàng)建一個(gè)表,其中包含您可能需要使用的所有日期:
date
2000-01-01
2000-01-02
2000-01-03
...etc..
2100-12-30
2100-12-31
然后按以下方式查詢?cè)摫恚?/p>
SELECT date
FROM dates
WHERE date BETWEEN '2012-02-10' AND '2012-02-15'
添加回答
舉報(bào)
0/150
提交
取消