文章目录

  • 序言
  • 日期的加减
    • date_add和date_sub
  • 日期的格式化
    • date_format
  • 日期的差值
    • datediff
    • timestampdiff

序言

最近在写定时任务,查询条件中反复的会使用时间区间作为筛选条件,难免的会碰到对日期的操作,如获取前一天、后一天、一周前、一个月前等,索性整理一下MYSQL中的相关函数

日期的加减

date_add和date_sub

语法为:date_add(date,interval expr type)、date_sub(date,interval expr type)
其中常用的type的类型有:second、minute、hour、day、month、year等

date_add是对日期的增加,如果天数为负数时,则表示对日期减少,
date_sub是对日期的减少,如果天数为负数时,则表示对日期增加
例如:

-- 获取日期 2020-04-07
curdate()
-- 获取日期加时间 2020-04-07 23:10:30
now()
-- 获取明天的日期 2020-04-08
date_add(curdate(),interval 1 day)
--或者
date_sub(curdate(),interval -1 day)
-- 获取明年的日期 2021-04-07
date_add(curdate(),interval 1 year)
-- 或者
date_sub(curdate(),interval -1 year)

日期的格式化

date_format

语法为:date_format(date,format),date 参数是合法的日期。format 规定日期/时间的输出格式。
常用的格式有:

格式 描述
%Y 年,4 位
%y 年,2 位
%m 月,数值(00-12)
%M 月名
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%H 小时 (00-23)
%h 小时 (01-12)
%i 分钟,数值(00-59)
%S 秒(00-59)
%s 秒(00-59)
-- 格式化当前日期 2020-04-07 23:23:23
date_format(now(),'%Y-%m-%d %H:%i:%s' )

日期的差值

datediff

DATEDIFF(date1,date2) 返回起始时间 date1 和结束时间 date2 之间的天数(date2-date1,正负情况都存在)。date1 和 date2 为日期或 date-and-time 表达式,计算差值时只会计算日期的差值,单位为天。

-- 当前时间2020-04-08,差值为-2
SELECT DATEDIFF(NOW(),'2020-04-10')
-- 当前时间2020-04-08,差值为2
SELECT DATEDIFF(NOW(),'2020-04-06')

timestampdiff

语法为:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。
常用的值有:

  • FRAC_SECOND。表示间隔是毫秒
  • SECOND。秒
  • MINUTE。分钟
  • HOUR。小时
  • DAY。天
  • WEEK。星期
  • MONTH。月
  • QUARTER。季度
  • YEAR。年
-- now()值为 2020-04-08 23:20:20
SELECT TIMESTAMPDIFF(DAY,NOW(),'2020-04-10 23:23:23')
-- 结果为2,相差两天,取整数
-- 其他单位同理

MYSQL中日期加减(前一天、后一天等)以及格式化的函数相关推荐

  1. mysql中日期相减_解放双手!用这3个日期函数解决入职、工龄等天数的计算

    人事部门员工的入职天数.财务部门合同的到期剩余天数等等,可以通过Excel表格来实现自动计算功能. 今天小编分享三个与日期有关的函数 一.EDATE函数 很多公司新员工入职会有3个月试用期,根据入职日 ...

  2. Oracle-SQL中日期加减一年的写法

    摘自:https://www.cnblogs.com/yangxg/p/10869011.html oracle中时间加减一年的写法 select add_months(date'2019-5-15' ...

  3. mysql中数据加减_mysql日期加减

    一.MySQL 为日期增加一个时间间隔:date_add(). 1.  示例: set @dt = now(); select date_add(@dt, interval 1 day);       ...

  4. mysql中日期相减_Excel教程:Excel日期问题的小妙招

    通知:安卓APP以发布课程可以缓存下载和倍速看 IOS系统(内测中,请公众号左下角学习) 1.怎么快速输入当前日期? 函数: 输入公式:=TODAY() TODAY函数:返回日期格式的当前日期. 搜狗 ...

  5. mysql中日期相减_非凡教育教你excel怎么计算两个日期天数差和时间差

    商务办公培训老师在本文中主要是介绍如何在excel中计算日期和时间,包括两个日期之间的天数.时间之间的差和显示样式. 首先,计算两个日期之间的天数.在excel中,两个日期直接相减就可以得到两个日期间 ...

  6. mysql中日期相减_如何使用MySQL数据库

    如何使用MySQL数据库 前言:前面我们已经了解了如何搭建MySQL数据库,那么接下来我们就一起来了解一下,如何使用MySQL数据库. MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构应 ...

  7. mysql中日期相减_MySQL环境配置和10分钟快速入门

    MySQLFrom:Datawhale作者:皮钱超,厦门大学,Datawhale原创作者本文约3000字,建议阅读9分钟审稿人:杨煜,Datawhale成员,就职于毕马威,从事数据分析工作.本文中介绍 ...

  8. mysql中日期相减_Excel日期和时间运算

    对于Excel的日期和时间运算一般人都很头疼,文章的开始我先给大家说个真理吧,遇到这种问题,不管三七二十一,直接暴力相加或相减,然后把运算结果设置成日期或时间格式,结果也许就有了. 下边我把日期和时间 ...

  9. java中日期加减计算(转)

    .NET里面日期的相关计算真是太简单了,直接有方法,java咋就这么麻烦呢! public static void main(String[] args) {         String strNo ...

最新文章

  1. 图论之拓扑排序 poj 2367 Genealogical tree
  2. 搭建windows下filezilla FTP服务器
  3. c++ map用法_Python专题——五分钟带你了解map、reduce和filter
  4. python采用单例模式游戏_Python实现Singleton模式的方式详解
  5. Redis快的原因:内存操作 单线程没有切换开销 多路复用IO
  6. 各hadoop安装的收集
  7. 流浪宠物救助网站前端页面_全国爱心人士齐聚鞍山 救助流浪猫狗
  8. hash table(开放寻址法-二次探查实现的哈希表)
  9. 微型计算机中普片编码,【单选题】微型计算机中普遍使用的字符编码是A. ASCII码B. BCD 码C. 拼音码D. 补码...
  10. 拳王虚拟项目公社:怎么找低价电影票,低价电影票怎样赚钱,低价电影票实操赚钱方法?
  11. Java调用大华车牌识别摄像头_第三方软件调用大华网络摄像头监控
  12. 06 - 雷达发射机 概述
  13. c++ mfc实现中英文菜单的动态切换
  14. 超好看的粒子效果文字动画特效HTML5源码
  15. 使用 Bud and Go 构建全栈应用程序
  16. 个人看法(设计思想)
  17. TFTP文件传输协议
  18. codeblocks-13.12mingw 配置opencv-3.1.0(一)
  19. 手机射频(天线)测试的主要参数与测试方法
  20. SmartRefreshLayout上拉刷新和下拉加载使用心得

热门文章

  1. 数据压缩算法之zigZag--一种对负数友好的编码(2000多字总结)
  2. Mendix低代码开发
  3. CIE1964标准色度系统
  4. Java 提取PDF图片(pdfbox)Extract PDF document images
  5. python一句代码生成26个英文字母
  6. 机器学习基础 维基翻译 保序回归 随机森林 Pipeline处理 及简单的sklearn例子
  7. 我的一个项目:项目可行性分析报告
  8. python学习之路0x00
  9. 大数据之Linux 基础
  10. Mac删除键的5种用法