mysql当天前10天_mysql数据库要按当天、昨天、前七日、近三十天、季度、年查询...

本文介绍了如何使用MySQL查询不同时间范围内的数据,包括当天、昨天、近7天、近30天、本季度、本年等。提供了详细的SQL语句示例,如查询今天数据:`select * from 表名 where to_days(时间字段名)=to_days(now())`,查询昨天数据:`select * from 表名 where to_days(now())-to_days(时间字段名)=1`等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天花了些时间整理了下MySQL中分别查找当天、昨天、近一周、近一个月等等时间段数据的代码

1、查询今天数据的语句

select * frim 表名 where to_days(时间字段名)=to_days(now());

select now();//获得当前时间 格式:2016-01-12 23:21:33

select curdate();//获得当前时间 格式: 2016-01-12

select curtime();//获得当前时间 格式:23:19:43

2、查询昨天数据的语句

select * from 表名 where to_days(now())-to_days(时间字段名)=1;

3、查询七天语句

select * from 表名 where date_sub(curdate(),interval 7 day)<=date(时间字段名);

或者 select * from 表名 where 时间字段名>=date_sub(curdate(),interval 7 day);

4、查询近一个月的语句

select * from 表名 where date_sub(curdate(),interval 1 month)<=date(时间字段名);

或者 select * from 表名 where 时间字段>=date_sub(curdate(),interval 1 month);

5、查询本季度数据

select * from 表名 where QUARTER(时间字段名)=QUARTER(now());

QUARTER(date);//返回的一年日期,取值范围为1至4季度。

6、查询上季度数据

select * from 表名 where QUARTER(时间字段名)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

6、查询本年的数据

select * from 表名 where YEAR(时间字段名)=YEAR(NOW());

7、查询去年数据

select * from 表名 where year(时间字段名)=year(date_sub(now(),interval 1 year));

8、查询当前这一周的数据

SELECT name,时间字段名 FROM 表名 WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());

9、查询上周的数据

SELECT name,时间字段名 FROM 表名 WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;

10、查询当前月份的数据

select name,时间字段名 from 表名 where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')

11、查询上个月的数据

select name,时间字段名 from 表名 where date_format(时间字段名,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m');

DATE_FORMAT();//函数用于以不同的格式显示日期/时间数据。

12、MySQL中日期时间函数大全

DAYOFWEEK(date)

返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)

mysql> select DAYOFWEEK('1998-02-03'); -> 3

WEEKDAY(date)

返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)

mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5

mysql> select WEEKDAY('1997-11-05'); -> 2

DAYOFMONTH(date)

返回date是一月中的第几日(在1到31范围内)

mysql> select DAYOFMONTH('1998-02-03'); -> 3

DAYOFYEAR(date)

返回date是一年中的第几日(在1到366范围内)

mysql> select DAYOFYEAR('1998-02-03'); -> 34

MONTH(date)

返回date中的月份数值

mysql> select MONTH('1998-02-03'); ->2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值