> 技术文档 > mysql 您要的日期查询都在这_mysql 日期查询

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)));

mysql 您要的日期查询都在这_mysql 日期查询