mysql 查询今天_mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句
mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结:
话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下:
select * from `article` where date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d');
或者:
select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());
假设以上表的add_time字段的存储类型是DATETIME类型或者TIMESTAMP类型,则查询语句也可按如下写法:
查询今天的信息记录:
select * from `article` where to_days(`add_time`) = to_days(now());
查询昨天的信息记录:
select * from `article` where to_days(now()) – to_days(`add_time`) <= 1;
查询近7天的信息记录:
select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);
查询近30天的信息记录:
select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);
查询本月的信息记录:
select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');
查询上一月的信息记录:
select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;
对上面的SQL语句中的几个函数做一下分析:
(1)to_days
就像它的名字一样,它是将具体的某一个日期或时间字符串转换到某一天所对应的unix时间戳,如:
mysql> select to_days('2010-11-22 14:39:51');
+--------------------------------+
| to_days('2010-11-22 14:39:51') |
+--------------------------------+
| 734463 |
+--------------------------------+
mysql> select to_days('2010-11-23 14:39:51');
+--------------------------------+
| to_days('2010-11-23 14:39:51') |
+--------------------------------+
| 734464 |
+--------------------------------+
可以看出22日与23日的差别就是,转换之后的数增加了1,这个粒度的查询是比较粗糙的,有时可能不能满足我们的查询要求,那么就需要使用细粒度的查询方法str_to_date函数了,下面将分析这个函数的用法。
提醒:
(1)to_days() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。
(2)MySQL"日期和时间类型"中的规则是将日期中的二位数年份值转化为四位。因此对于'1997-10-07'和'97-10-07'将被视为同样的日期:
mysql> select to_days('1997-10-07'), to_days('97-10-07');
-> 729669, 729669
(2)str_to_date
这个函数可以把字符串时间完全的翻译过来,如:
mysql> select str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s');
+--------------------------------------------------------+
| str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s') |
+--------------------------------------------------------+
| 2010-11-23 14:39:51 |
+--------------------------------------------------------+
具体案例操作如下:
select str_to_date(article.`add_time`,'%Y-%m-%d %H:%i:%s')
from article
where 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';
mysql 查询今天_mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句相关推荐
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据
近期项目中用到了查询当月数据记录的功能,最初的想法是在逻辑业务里构造好时间段进行查询,当写sql语句时感觉挺麻烦.所以就到网上搜索了一下,看看是不是能有简单的方法.果然.网络资源非常强大.以下结合我的 ...
- 黄聪mysql_黄聪:mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法
mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添 ...
- mysql 30天销量_mysql查询今天,昨天,近7天,近30天,本月,上一月数据方法
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为in ...
- mysql 查询小数点_MySQL查询小数点位数
怎么查询某个字段中小数有几位? MySQL数据库: 通过下面sql就可以查出来,有2位col*100,有3位col*1000,一次类推: select * from ws_inventory_item ...
- mysql 查询慢_MySQL查询缓慢的N种原因,以及N+1种解决方法
昨天查询数据库的时还正常,今早来上班时,SQL语句查询就突然变得很慢了.这样的情况我相信你一定遇到过. 下面就让小编来带你了解其中的原因吧! 本篇文章简单总结了一下可能导致数据库查询慢的原因,希望能给 ...
- mysql获取去年同期_mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据...
mysql查询今天.昨天.7天.近30天.本月.上一月 数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT ...
- mysql sysdate本周_mysql 查询当天、本周,本月,上一个月的数据
1.当前日期 当前时间select DATE_SUB(curdate(),INTERVAL 0 DAY) ; 时间戳:SELECT UNIX_TIMESTAMP(CAST(SYSDATE()AS DA ...
- mysql 查找数据_Mysql查询数据
查询语句 单表查询 1.1 全表查寻 select * from employee; 复制代码1.2 指定字段查询 查询职员表中所有职员姓名和入职时间 select empname,hirdate f ...
- mysql数据库查询缓存_MySQL查询缓存与数据库管理
MySQL查询缓存与数据库管理 上一篇 / 下一篇 2010-01-25 21:51:07 / 个人分类:MYSQL/Cache MySQL查询缓存 注意:查询缓存绝不返回过期数据. 如果一个表发生 ...
最新文章
- VMware Resource Pool Recommendations
- 计算机网络期中考试题周静,期中考试优秀作文
- 让人深思......
- react+redux+generation-modation脚手架搭建一个todolist
- 视频转换工具(命令行)
- 项目管理工具project软件学习(八) - 关键路径查询、资源可用性
- Java面向对象之异常处理机制(try-catch-finally、throws、自定义异常)
- Java log4j使用
- C#:System.Data.SQLite数据库介绍
- js计算时间差(天、小时、分钟、秒)(日期计算)
- 计算机系的土味情话,大学各专业土味情话
- Access数据库压缩失败后修复经历
- 大数据分析与应用(中级) 数据挖掘概念及流程
- 操作系统和指弹吉他的联系
- 基于Paddle复现《Neighbor2Neighbor: Self-Supervised Denoising from Single Noisy Images》降噪网络
- mysql from多表顺序_数据库 from 表的顺序
- 基于QT搭建的网易云音乐
- 完整dm368打印信息
- xp桌面上的计算机管理,如何解决WinXP系统开机桌面变白显示恢复Active Desktop的问题?...
- 2977 二叉堆练习1