mysql 您要的日期查询都在这_mysql 日期查询
👨⚕️ 主页: gis分享者
👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅!
👨⚕️ 收录于专栏:数据库工程师
文章目录
- 一、🔥前言
- 二、🔥常见日期查询方法
-
- 1、💥查询今天数据
- 2、💥查询昨天数据
- 3、💥查询近7天数据
- 4、💥查询近30天数据
- 5、💥查询当前月数据
- 6、💥查询上一月数据
- 7、💥查询本季度数据
- 8、💥查询上季度数据
- 9、💥查询本年数据
- 10、💥查询上年数据
- 11、💥查询当前周的数据
- 12、💥查询上周的数据
- 13、💥查询上个月的数据
- 14、💥查询当前月份的数据
- 15、💥查询距离当前现在6个月的数据
- 16、💥查询某一天所在周的第一天
- 17、💥查询某一天所在周的最后一天
- 18、💥查询某一天的所在月的第一天
- 19、💥查询某一天所在月的最后一天
- 20、💥查询某一天所在月的天数
一、🔥前言
本文介绍了mysql常用日期查询的方法。希望能帮助到您。
二、🔥常见日期查询方法
1、💥查询今天数据
select * from 表名 where to_days(时间字段名) = to_days(now());
2、💥查询昨天数据
select * from 表名 where to_days(now( )) - to_days( 时间字段名) <= 1
3、💥查询近7天数据
select * from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段名)
4、💥查询近30天数据
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)
5、💥查询当前月数据
select * from 表名 where date_format( 时间字段名, \'%y%m\' ) = date_format( curdate() , \'%y%m\')
6、💥查询上一月数据
select * from 表名 where period_diff( date_format( now( ) , \'%y%m\' ) , date_format( 时间字段名, \'%y%m\' ) ) =1
7、💥查询本季度数据
select * from 表名 where quarter(create_date)=quarter(now());
8、💥查询上季度数据
select * from 表名 where quarter(create_date)=quarter(date_sub(now(),interval 1 quarter));
9、💥查询本年数据
select * from 表名 where year(create_date)=year(now());
10、💥查询上年数据
select * from 表名 where year(create_date)=year(date_sub(now(),interval 1 year));
11、💥查询当前周的数据
select * from 表名 where yearweek(date_format(create_date,\'%y-%m-%d\')) = yearweek(now());
12、💥查询上周的数据
select * from 表名 where yearweek(date_format(create_date,\'%y-%m-%d\')) = yearweek(now())-1;
13、💥查询上个月的数据
select * from 表名 where date_format(create_date,\'%y-%m\')=date_format(date_sub(curdate(), interval 1 month),\'%y-%m\')
14、💥查询当前月份的数据
select * from 表名 where date_format(create_date,\'%Y-%m\')=date_format(now(),\'%Y-%m\')
15、💥查询距离当前现在6个月的数据
select * from 表名 where create_date between date_sub(now(),interval 6 month) and now();
16、💥查询某一天所在周的第一天
selectcase when dayname(date(\'2022-3-10\'))=\'sunday\'then date_sub(date(\'2022-3-10\'),interval 6 day)else date_add(\'2022-3-10\',interval -dayofweek(date(\'2022-3-10\'))+2 day) end
17、💥查询某一天所在周的最后一天
select case when dayname(date(\'2022-3-11\'))=\'sunday\' then date(\'2022-3-11\') else date_add(\'2022-3-11\',interval 7-dayofweek(\'2022-3-11\')+1 day) end
18、💥查询某一天的所在月的第一天
select date_add( date_add(last_day(\'2022-06-03\'),interval 1 day ),interval -1 month );
19、💥查询某一天所在月的最后一天
select last_day(\'2022-03-03\');select date_format(now(),\'%y-%m-%d %h:%i:%s\');
20、💥查询某一天所在月的天数
select timestampdiff(day,\'2023-03-03\',(date_add(\'2017-03-03\',interval 1 month)));