MySql 操作时间
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 操作时间相关推荐
- 线上RPC超时故障排查及后续GC调优思路
本文记录了一次线上RPC服务调用超时问题的排查流程,排查过程中涉及到 JVM 优化的过程与思路,包括 JVM GC 原理以及问题排查思路,分享出来希望对大家有所帮助. 本文概要 RPC服务异常和排查过 ...
- 线上 RPC 偶发超时故障排查及 GC 调优实录
本文概要 RPC服务异常和排查过程 排查方向 问题根因和解决方案 JVM GC 原理与优化方案 基础排查工具使用 问题背景 RPC 服务调用方反馈服务有时会有超时. 查看监控平台发现有客户端调用超时, ...
- 电商系统设计艺术——秒杀业务设计
一.秒杀场景 人多货少,只有少量的人能够抢购成功. 高并发,秒杀业务在开始之前流量比较平稳,开始后流量会直线性的上升. 持续时间短,秒杀开始随着库存的减少流量会以瀑布式的下降,这个过程持续时间很短,一 ...
- Mysql技术内幕——InnoDB存储引擎
一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据 ...
- 如何保证MySQL和Redis的数据一致性?
" 今天给大家剖析一下工作中常见的 MySQL 和 Redis 数据一致性问题. 图片来自 Pexels 什么是数据的一致性 一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据 ...
- 如何保证MySQL和Redis的数据一致性?10张图带你搞定!
导语 | 本文的主要思路是首先带大家认识了解MySQL和Redis的数据一致性情况,然后进行反推不一致的情况,从而进行探究单线程中的不一致的情况.同时探究多线程中的不一致的情况,拟定数据一致性策略. ...
- Mysql的日志那些事
Mysql中日志还是挺多的,主要包含以下几个常用的日志: binlog:归档日志, Server层的日志. redo log:重做日志,InnoDB存储引擎层的日志. undo log:回滚日志,提供 ...
- mysql文章浏览计数_高并发文章浏览量计数系统设计
最近因为个人网站的文章浏览量计数在Chrome浏览器下有BUG,所以打算重新实现这个功能. 原本的实现很简单,每次点击文章详情页的时候,前端会发送一个GET请求articles/id获取一篇文章详情. ...
- MySQL 实战 定时备份数据库
在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库. 一. mysqldump命令备份数据 在MySQ ...
- mysql教程联合索引_MySQL中的联合索引学习教程
联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...
最新文章
- 1091 N-自守数 (15 分)
- linux桌面下雪,Ubuntu添加下雪效果
- anaconda 清华源挂了 怎么办 上交源ok
- mysql基本常用命令_mysql 的基本操作以及常用命令
- 别忘了我的世界有你存在
- php 随机数据库,PHP实现随机一句功能
- 如何与ChatGPT交流,获得你想要的答案?正确提问是关键
- 微信支付一直显示服务器异常,商户支付异常告警服务
- linux系统外接硬盘_linux下,如何挂载一块硬盘?
- 18种为你的网站引流的好方法
- git 手动master_git 如何撤销一次remote的master commit?
- 微信小程序设置git提交、代码管理
- 程序员自我修养阅读笔记——运行库
- 华为区块链项目总监: 华为区块链率先于溯源场景落地
- “用户名不在 sudoers文件中,此事将被报告” 解决方法
- 从刘福泉炮轰“社科院的调查太雷人”谈:一辈子租房又何妨
- 射影几何----交比是最基本的射影不变量
- 基于三菱PLC和MCGS组态农田智能灌溉系统
- intel编译器编译cp2k
- yocto-sumo源码解析(十): ProcessServer.idle_commands
热门文章
- WIFI模块AP和STA模式分别是什么意思
- 最简单日柱推算法_怎样推算大运、小运、流年和命宫?
- 2019年前端大事件回顾:流年笑掷,未来可期
- 计算机与音乐整合的教学设计,信息技术与学科教学整合音乐课教学设计 2010年10月 田赞禄...
- 如何在Apple Watch上关闭“嘿Siri”
- 美化你的Xfce桌面
- 双硬盘双win10互不干扰_双硬盘双系统 完全独立|硬盘安装Win10单双系统的详细步骤...
- 什么是共模干扰和差模干扰,它们是怎么产生的
- 如何避免B端产品失败(近万字解析)
- wps将批量数字转换成条形码_WPS怎么批量制作条码.