php mysql查询日期,mysql查询日期的方法
mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结:
话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下:
1select * from `article` where date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d');
或者:
1select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());
假设以上表的add_time字段的存储类型是DATETIME类型或者TIMESTAMP类型,则查询语句也可按如下写法:
查询今天的信息记录:
1select * from `article` where to_days(`add_time`) = to_days(now());
查询昨天的信息记录:
1select * from `article` where to_days(now()) – to_days(`add_time`) <= 1;
查询近7天的信息记录:
1select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);
查询近30天的信息记录:
1select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);
查询本月的信息记录:
1select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');
查询上一月的信息记录:
1select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;
对上面的SQL语句中的几个函数做一下分析:
(1)to_days
就像它的名字一样,它是将具体的某一个日期或时间字符串转换到某一天所对应的unix时间戳,如:
01mysql> select to_days('2010-11-22 14:39:51');
02+--------------------------------+
03| to_days('2010-11-22 14:39:51') |
04+--------------------------------+
05| 734463 |
06+--------------------------------+
07
08mysql> select to_days('2010-11-23 14:39:51');
09+--------------------------------+
10| to_days('2010-11-23 14:39:51') |
11+--------------------------------+
12| 734464 |
13+--------------------------------+
可以看出22日与23日的差别就是,转换之后的数增加了1,这个粒度的查询是比较粗糙的,有时可能不能满足我们的查询要求,那么就需要使用细粒度的查询方法str_to_date函数了,下面将分析这个函数的用法。
提醒:
(1)to_days() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。
(2)MySQL"日期和时间类型"中的规则是将日期中的二位数年份值转化为四位。因此对于'1997-10-07'和'97-10-07'将被视为同样的日期:
1mysql> select to_days('1997-10-07'), to_days('97-10-07');
2
3-> 729669, 729669
(2)str_to_date
这个函数可以把字符串时间完全的翻译过来,如:
1mysql> select str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s');
2
3+--------------------------------------------------------+
4| str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s') |
5+--------------------------------------------------------+
6| 2010-11-23 14:39:51 |
7+--------------------------------------------------------+
具体案例操作如下:
1select str_to_date(article.`add_time`,'%Y-%m-%d %H:%i:%s')
2from article
3where str_to_date(article.`add_time`,'%Y-%m-%d %H:%i:%s')>='2012-06-28 08:00:00' and str_to_date(article.`add_time`,'%Y-%m-%d %H:%i:%s')<='2012-06-28 09:59:59';
php mysql查询日期,mysql查询日期的方法相关推荐
- mysql子查询日期比较_数据分析系列 16/32 | MySQL中子查询与联合查询
前面说了很多MySQL中的查询,比如条件查询.分组聚合查询.连接查询,今天来说一下另外两个非常的重要的查询,MySQL中的子查询和联合查询. PART01 子查询 子查询也称嵌套查询,是将一个查询语句 ...
- mysql慢查询日志时间戳_Mysql查询在时间戳的日期范围内非常慢
要提高此查询的性能,请使用合适的索引(将date_run作为索引中的前导列),并在等效谓词中引用"裸列". 在函数中包装列(如DATE(),就像在查询中一样)会禁用MySQL优化器 ...
- db2有MySQL那样的时间戳_MySQL 按照日期格式查询带有时间戳数据
按照日期格式查询带有时间戳数据一般在MSQL数据库中的时间都是以时间戳的格式来存储时间的,但是对于我们来说,时间戳格式具体表示的是什么时间,我们很难一眼看出来,所以当我们要具体查询某一个时间或时间段的 ...
- mysql日期代码_mysql日期查询操作代码
mysql日期查询操作 mysql日期函数与mysql日期查询操作. 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 Sel ...
- 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?
前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...
- mysql 日期截止,MySQL查询以开始日期和结束日期计算日期范围内的天数
要计算日期范围内的天数,您需要使用来查找日期之间的差额DATEDIFF(). 让我们首先创建一个表:mysql> create table DemoTable730 ( StartDate da ...
- mysql将时间戳转换成日期_mysql 中查询时如何将时间戳转换为日期格式 / 日期格式转换为时间戳...
在数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳, 也有的直接存日期,查询的时候可能不是那么好弄. mysql提供了两个函数: from_unixtime ...
- mysql日期与时间查询语句:查询当年、查询本年、查询当月、查询本周
mysql日期与时间查询语句:查询当年.查询本年.查询当月.查询本周 select sum(1) as years, (select sum(1) from `表名` where date_forma ...
- php按选定日期查询,php mysql查询指定范围内日期
摘要 腾兴网为您分享:php mysql查询指定范围内日期,掌上新华,掌上公交,学习帮,喜马拉雅等软件知识,以及mts,97漫画网,三菱plc编程软件win10,零点八,2016考研国家线,生化奇兵补 ...
- mysql时间戳转换成日期_mysql查询时间戳和日期的转换
在数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳, 也有的直接存日期,查询的时候可能不是那么好弄. mysql提供了两个函数: from_unixtime ...
最新文章
- 工控系统的指纹识别技术
- 23种设计模式C++源码与UML实现--组合模式
- 未发现数据源名称_在Power BI中管理数据源Analysis Services
- 大数据思维是企业互联网化的思维内核
- GDB的工作原理及skyeye远程调试
- wampserver mysql乱码_ajax +json +php提交mysql数据库 中文乱码(wamp server 本地测试)求解?...
- 中国基站射频设备行业市场供需与战略研究报告
- jdk生成keystore、tomcat配置https
- 【ACL2020】DeeBERT:衡量性能与效率的 BERT 推理方法
- 【转参考】MySQL利用frm和ibd文件进行数据恢复
- 【微信公众号后台基础能力接口对接】
- Linux系统基本操作及命令详解
- 头像框DIY制作小程序源码王者吃鸡等气泡头像框在线生成源码
- linux hba卡超时时间,如何设置Emulex HBA 卡超时参数
- ArcGIS API for iOS在俄勒冈大学校园中的创新应用
- CTF练习题——bugkuCTF 网站被黑题目思路分析
- Android平台上的PacketSender
- python实现骰子猜大小游戏
- 怎样抓CD音轨存为WMA文件
- eclipse出现Parameter index out of range (1 number of parameters, which is 0)报错