MySQL查詢當月所有日期

MySQL查詢當月所有日期

1.查詢本月第一天

select date_add(curdate(),interval-day(curdate())+1 day) as date;

2.查詢本月最後一天

SELECT last_day(curdate()) as date;

3.查詢當前日期

select curdate();

4.查詢下個月的第一天

select date_add(curdate() - day(curdate()) +1,interval 1 month );

5.查詢當前月已過了幾天

select day(curdate());

6.獲取當前月的天數(先加一個月,再減今天是第幾天,得到當前月的最後一天,最後求最後一天是幾號)

select day(date_add( date_add(curdate(),interval 1 month),interval -day(curdate()) day ));

7.查詢上個月的第一天

select date_sub(date_sub(date_format(now(),‘%y-%m-%d’),interval extract(day from now())-1 day),interval 1 month);

8.查詢上個月的最後一天

select date_sub(date_sub(date_format(now(),’%y-%m-%d’),interval extract(day from now()) day),interval 0 month) as date;

9.查詢當月所有日期

select date from (
SELECT DATE_FORMAT(DATE_SUB(last_day(curdate()), INTERVAL xc-1 day), '%Y-%m-%d') as date
FROM ( 
			SELECT @xi:=@xi+1 as xc from 
			(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc1, 
			(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc2,  
			(SELECT @xi:=0) xc0 
) xcxc) x0 where x0.date >= (select date_add(curdate(),interval-day(curdate())+1 day));

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章