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 ...
随机推荐
- flink on yarn部分源码解析 (FLIP-6 new mode)
我们在https://www.cnblogs.com/dongxiao-yang/p/9403427.html文章里分析了flink提交single job到yarn集群上的代码,flink在1.5版 ...
- linux 查看可执行文件动态链接库相关信息(转)
转自 http://blog.sina.com.cn/s/blog_67eb1f2f0100mgd8.html ldd <可执行文件名> 查看可执行文件链接了哪些 系统动态链 ...
- Python 常用内建模块(time ,datetime)
1,在Python中,与时间处理有关的模块就包括:time,datetime以及calendar. 2,在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(st ...
- Centos安装ruby--jekyll
想要使用gem install 安装jekyll,执行发现没有gem这个命令,那就需要先安装gem了 yum list '*ruby*' 修改gem源,使用淘宝的源: gem sources --re ...
- poj3020 Antenna Placement 匈牙利算法求最小覆盖=最大匹配数(自身对应自身情况下要对半) 小圈圈圈点
/** 题目:poj3020 Antenna Placement 链接:http://poj.org/problem?id=3020 题意: 给一个由'*'或者'o'组成的n*m大小的图,你可以用一个 ...
- 【揭秘】什么是不对称秘钥和CA证书
密钥交换简单的说就是利用非对称加密算法来加密对称密钥保证传输的安全性,之后用对称密钥来加密数据. ★方案1--单纯用"对称加密算法"的可行性 首先简单阐述一下,"单纯用对 ...
- sublime3 Package Control不能使用
手动下载插件包:https://sublime.wbond.net/Package%20Control.sublime-package,复制到%SumlimeText_HOME%\Data\Insta ...
- redis info命令中各个参数的含义
Redis 性能调优相关笔记 2016年09月25日 15:42:04 WenCoding 阅读数:4844更多 个人分类: Redis数据库 info可以使用info [类别]输出指定类别内容i ...
- MySQL集群系列2:通过keepalived实现双主集群读写分离
在上一节基础上,通过添加keepalived实现读写分离. 首先关闭防火墙 安装keepalived keepalived 2台机器都要安装 rpm .el6.x86_64/ 注意上面要替换成你的内核 ...
- Android将指定的.class打包到mainDex中
1️⃣ 我们分包的时候会遇到一个问题,因为加载和初始化的问题,如果某个类不在mainDex中,那么程序就会报错,java.lang.NoClassDefFoundError. 2️⃣ 在gradle中 ...