MySql 操作时间查询:日、周、月、季度、年

这篇博客的记录,主要是在这次的项目中运用到了很多时间函数,才发现自己对mysql的时间函数记忆不够,在统计中,很多地方都是用到时间进行统计,而灵活运用sql函数,可以事半功倍。

演示

找出当前今天的数据:

SELECT * FROM table WHERE DATE(时间字段) = CURDATE();

DATE(),这个函数用于将时间格式(年月日 时分秒)转换成年月日,CURDATE()函数是获取当前的年月日,NOW()是获取当前年月日 时分秒

找出前一天的数据:

SELECT * FROM table WHERE DATE_SUB(时间字段, INTERVAL 1 DAY)
SELECT * FROM table WHERE DATE(时间字段) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)

DATE_SUB()函数得到指定日期前一天的日期/把1改为任意数字就可以得到前N天的日期,还有一个和它相反的函数
DATE_ADD()函数得到指定日期后一天的日期/把1改为任意数字就可以得到后N天的日期
其他用法

SELECT * DATE_SUB('2019-05-10', INTERVAL 1 DAY) 表示 2019-05-09
SELECT * DATE_SUB('2019-05-10', INTERVAL 0 DAY) 表示 2019-05-10
SELECT * DATE_SUB('2019-05-10', INTERVAL -1 DAY) 表示 2019-05-11
SELECT * DATE_SUB(CURDATE(), INTERVAL 1 MONTH) 表示 2019-04-10
SELECT * DATE_SUB(CURDATE(), INTERVAL -1 MONTH) 表示 2019-06-10
SELECT * DATE_SUB(CURDATE(), INTERVAL 1 YEAR) 表示 2018-05-10
SELECT * DATE_SUB(CURDATE(), INTERVAL -1 YEAR) 表示 2019-05-10

两个时间中间差多少天:

SELECT DATEDIFF('2019-05-10', '2019-05-09'); 得到的结果为:1

DATEDIFF()函数用于时间相减

获取上个月的最后一天:

SELECT DATE_SUB(LAST_DAY(CURDATE()), INTERVAL 1 MONTH)

LAST_DAY()函数用于获取某个时间里,这个月的最后一天,以上SQL的时候是,取到当前月的最后一天,在通过DATE_SUB()函数中的INTERVAL 1 MONTH减去一个月,得到上个月的最后一天

统计七天的数据:

SELECT * FROM table WHERE DATE(时间字段) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND DATE(时间字段) <= DATE_SUB(CURDATE(), INTERVAL 1 DAY)

查询某个时间段内的数据:

SELECT * FROM table WHERE DATE_FORMAT(时间字段, '%y-%m-%d') >= '某时间' AND DATE_FORMAT(时间字段, '%y-%m-%d') <= '某时间'

获取周:

SELECT WEEK(CURDATE(), 1)  表示当前时间是今年第几周

获取上一周:

SELECT WEEK(DATE_SUB(CURDATE(), INTERVAL 7 DAY),1)

三十天的数据:

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

本月:

select * from 表名 where date_format( 时间字段名, '%Y%m' ) = date_format(curdate( ) , '%Y%m' )

查询一个月

select * from 表名 where period_diff( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

MySql 操作时间相关推荐

  1. 线上RPC超时故障排查及后续GC调优思路

    本文记录了一次线上RPC服务调用超时问题的排查流程,排查过程中涉及到 JVM 优化的过程与思路,包括 JVM GC 原理以及问题排查思路,分享出来希望对大家有所帮助. 本文概要 RPC服务异常和排查过 ...

  2. 线上 RPC 偶发超时故障排查及 GC 调优实录

    本文概要 RPC服务异常和排查过程 排查方向 问题根因和解决方案 JVM GC 原理与优化方案 基础排查工具使用 问题背景 RPC 服务调用方反馈服务有时会有超时. 查看监控平台发现有客户端调用超时, ...

  3. 电商系统设计艺术——秒杀业务设计

    一.秒杀场景 人多货少,只有少量的人能够抢购成功. 高并发,秒杀业务在开始之前流量比较平稳,开始后流量会直线性的上升. 持续时间短,秒杀开始随着库存的减少流量会以瀑布式的下降,这个过程持续时间很短,一 ...

  4. Mysql技术内幕——InnoDB存储引擎

    一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据 ...

  5. 如何保证MySQL和Redis的数据一致性?

    " 今天给大家剖析一下工作中常见的 MySQL 和 Redis 数据一致性问题. 图片来自 Pexels 什么是数据的一致性 一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据 ...

  6. 如何保证MySQL和Redis的数据一致性?10张图带你搞定!

    导语 | 本文的主要思路是首先带大家认识了解MySQL和Redis的数据一致性情况,然后进行反推不一致的情况,从而进行探究单线程中的不一致的情况.同时探究多线程中的不一致的情况,拟定数据一致性策略. ...

  7. Mysql的日志那些事

    Mysql中日志还是挺多的,主要包含以下几个常用的日志: binlog:归档日志, Server层的日志. redo log:重做日志,InnoDB存储引擎层的日志. undo log:回滚日志,提供 ...

  8. mysql文章浏览计数_高并发文章浏览量计数系统设计

    最近因为个人网站的文章浏览量计数在Chrome浏览器下有BUG,所以打算重新实现这个功能. 原本的实现很简单,每次点击文章详情页的时候,前端会发送一个GET请求articles/id获取一篇文章详情. ...

  9. MySQL 实战 定时备份数据库

    在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库. 一. mysqldump命令备份数据 在MySQ ...

  10. mysql教程联合索引_MySQL中的联合索引学习教程

    联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...

最新文章

  1. 1091 N-自守数 (15 分)
  2. linux桌面下雪,Ubuntu添加下雪效果
  3. anaconda 清华源挂了 怎么办 上交源ok
  4. mysql基本常用命令_mysql 的基本操作以及常用命令
  5. 别忘了我的世界有你存在
  6. php 随机数据库,PHP实现随机一句功能
  7. 如何与ChatGPT交流,获得你想要的答案?正确提问是关键
  8. 微信支付一直显示服务器异常,商户支付异常告警服务
  9. linux系统外接硬盘_linux下,如何挂载一块硬盘?
  10. 18种为你的网站引流的好方法
  11. git 手动master_git 如何撤销一次remote的master commit?
  12. 微信小程序设置git提交、代码管理
  13. 程序员自我修养阅读笔记——运行库
  14. 华为区块链项目总监: 华为区块链率先于溯源场景落地
  15. “用户名不在 sudoers文件中,此事将被报告” 解决方法
  16. 从刘福泉炮轰“社科院的调查太雷人”谈:一辈子租房又何妨
  17. 射影几何----交比是最基本的射影不变量
  18. 基于三菱PLC和MCGS组态农田智能灌溉系统
  19. intel编译器编译cp2k
  20. yocto-sumo源码解析(十): ProcessServer.idle_commands

热门文章

  1. WIFI模块AP和STA模式分别是什么意思
  2. 最简单日柱推算法_怎样推算大运、小运、流年和命宫?
  3. 2019年前端大事件回顾:流年笑掷,未来可期
  4. 计算机与音乐整合的教学设计,信息技术与学科教学整合音乐课教学设计  2010年10月  田赞禄...
  5. 如何在Apple Watch上关闭“嘿Siri”
  6. 美化你的Xfce桌面
  7. 双硬盘双win10互不干扰_双硬盘双系统 完全独立|硬盘安装Win10单双系统的详细步骤...
  8. 什么是共模干扰和差模干扰,它们是怎么产生的
  9. 如何避免B端产品失败(近万字解析)
  10. wps将批量数字转换成条形码_WPS怎么批量制作条码.