mysql按时间查询(年/月/日)
0.创建表sql语句查询
mysql> show create table byzp_personinfo;
CREATE TABLE `byzp_personinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL,
`birthday` date NOT NULL,
`create_data` datetime(6),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 |
1.今天
select * from byzp_personinfo where to_days(birthday) <= to_days(now());
2.昨天
select * from byzp_personinfo where to_days(NOW()) - TO_DAYS(birthday) <= 1;
3.近7天
select * from byzp_personinfo where date_sub(CURDATE(),INTERVAL 7 DAY) <= DATE(birthday);
4.近30天
select * from byzp_personinfo where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(birthday);
5.本月
select * from byzp_personinfo WHERE DATE_FORMAT( birthday, '%Y%m' ) = DATE_FORMAT( CURDATE() , '%Y%m' );
6.上一月
select * from byzp_personinfo WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( birthday, '%Y%m' ) ) =1;
7.查询本季度数据
select * from byzp_personinfo where QUARTER(birthday)=QUARTER(now());
8.查询上季度数据
select * from byzp_personinfo where QUARTER(birthday)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
9.查询本年数据
select * from byzp_personinfo where YEAR(birthday)=YEAR(NOW());
10.查询上年数据
select * from byzp_personinfo where year(birthday)=year(date_sub(now(),interval 1 year));
11.查询距离当前现在6个月的数据
select * from byzp_personinfo where birthday between date_sub(now(),interval 6 month) and now();
12.查询当前这周的数据
select * from byzp_personinfo WHERE YEARWEEK(date_format(birthday,'%Y-%m-%d')) = YEARWEEK(now());
13.查询上周的数据
select * from byzp_personinfo WHERE YEARWEEK(date_format(birthday,'%Y-%m-%d')) = YEARWEEK(now())-1;
14.查询上个月的数据
select * from byzp_personinfo where date_format(birthday,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m');
15.查询当前月份的数据
select * from byzp_personinfo where DATE_FORMAT(birthday,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m');
select * from byzp_personinfo where date_format(birthday,'%Y-%m')=date_format(now(),'%Y-%m');
16.查询指定时间段的数据
select * from byzp_personinfo where birthday < '2018-4-1 00:00:00' or birthday >'2018-10-31 00:00:00';
select * from byzp_personinfo where birthday >= '2018-6-1 00:00:00' and birthday < '2019-1-1 00:00:00';
17.查询月份数据
语法:
select * from table_name where month(date)='2';
示例:
查询表byzp_personinfo中2月份生日的人
select * from byzp_personinfo where month(birthday) = '2';
18.查询年份数据
语法:
select * from table_name where year(date)=年份;
示例:
查询表byzp_personinfo中2019年的数据
select * from byzp_personinfo where year(birthday) = '2019';
注:year,month,dayofyear是mysql的函数,分别是取得年、月、当前时间在本年是第几天的3个函数。
mysql数据库查询某一年内各月份数据,按月份分组
select month(birthday) as month,sum(id) from byzp_personinfo where year(birthday) = 2018 group by month (birthday);
mysql按时间查询(年/月/日)的更多相关文章
- mysql根据时间查询前一天数据
MySql数据库如何根据时间查询前一天的数据?本文整理了几个解决方法,有需要的朋友参考下. 本节内容:用MySql怎么根据时间查询前一天的数据. 例1: 代码示例: select * from t ...
- Js 处理将时间转换 “年-月-日”
将时间 \/Date(1432828800000+0800)\/" 转换成:“年-月-日” //时间转换function ChangeDateFormat(val) { if (v ...
- mysql 根据时间查询 格式转换竟然要注意大小写,天坑
时间需要转换格式在查询 查询2018年12月24日以后的记录 SELECT id FROM t_client_info WHERE DATE_FORMAT(visit_datetime,'%Y-%m- ...
- MySQL数据库时间查询
/*当前时间加1毫秒*/ SELECT DATE_ADD(NOW(),INTERVAL 1 MICROSECOND); /*当前时间减1毫秒*/ SELECT DATE_ADD(NOW(),INTER ...
- mysql 按照时间查询
这篇文章转载自http://blog.csdn.net/wangjuan_01/article/details/51726588 今天 select * from 表名 where to_days(时 ...
- mysql -- 按时间查询 今天、昨天、明天、上月....
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO ...
- oracle截取时间的年/月/日/时/分/秒
修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...
- mysql根据时间查询日期的优化
例如查询昨日新注册用户,写法有如下两种: EXPLAIN select * from chess_user u where DATE_FORMAT(u.register_time,'%Y-%m-%d' ...
- Java时间格式化年-月-日-时间
Date d = new Date(); System.out.println(d); //Sat Mar 16 20:58:56 CST 2019 System.out.println(d.toLo ...
随机推荐
- 491. Palindrome Number【easy】
Check a positive number is a palindrome or not. A palindrome number is that if you reverse the whole ...
- 关于UNIX/Linux下安装《UNIX环境高级编程》源代码的问题
<UNIX环境高级编程(第三版)>是一本广为人知的unix系统编程书籍. 但是,书中的代码示例,要想正确的编译运行,要先做好准备工作: 1.下载源代码 传送门:http://apueboo ...
- string.erase()--已解决
在代码中需要实现这样一个功能,需要将[00000001]这个存储在string中的字符串的中括号去掉,首先想到的就是string.erase()这个函数.结果... 代码: #include < ...
- 解决/usr/bin/ld: cannot find -lssl
一般情况下,-lssl表示要寻找库 libssl.so, 而上面的错误表示ld找不到这个库,一般情况下,原因是系统中没有安装这个库,只要安装就好了. 可以先使用sudo apt-cache searc ...
- 8237dma的四种传送方式简介
8237A有四种工作方式:单字节传送.数据块传送.请求传送和多片级联. (1)单字节传送(single mode) 单字节传送方式是每次DMA传送时,仅传送一个字节.传送一个字节之后,当前字节计数器减 ...
- 总结几个关于 jQuery 用法
有关 jquery 用法 目录: $.trim() $.inArray() $.getJSON() 事件委托 on 遍历closest() ajaxSubmit() 拖拽排序 dragsort() 进 ...
- 第二百一十七节,jQuery EasyUI,NumberSpinner(数字微调)组件
jQuery EasyUI,NumberSpinner(数字微调)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 NumberSpinner ...
- 关于pom.xml中的MAVEN出错处理
原因:maven与pom的版本不一致 解决方法: 1.升级maven 插件: help--install..... 2.根据出错的信息,找到没有下载成功的本地仓库目录 ,将目录下的文件删除,再在项目上 ...
- org.springframework.beans.factory.parsing.BeanDefinitionParsingException
今天在练习spring aop时.调试程序出现下面错误 org.springframework.beans.factory.parsing.BeanDefinitionParsingException ...
- mysql分表技术
一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法. 目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不 ...