博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中date_add()函数的使用?
阅读量:6811 次
发布时间:2019-06-26

本文共 4029 字,大约阅读时间需要 13 分钟。

需求描述:

  在使用mysql的过程中,需要对日期进行计算,比如对某个日期加上几天,几个小时等操作,

  在此记录下,date_add()函数的使用.

操作过程:

date_add()函数语法:

备注:date_add()和adddate()是同义词.

参数说明:

  date:起始日期或者起始时间

  expr:指定的是一个间隔值,在起始时间中增加或者减少,注意:expr是一个字符串.对于负值间隔,可以以"-"开头

  unit:表示的是一个单位,比如,加上的是1天还是一个小时.

1.对某个日期加上n天的操作

mysql> select date_add('2018-06-26',INTERVAL '5' day);+-----------------------------------------+| date_add('2018-06-26',INTERVAL '5' day) |+-----------------------------------------+| 2018-07-01                              |+-----------------------------------------+1 row in set (0.00 sec)mysql> select date_add('2018-06-26',INTERVAL '-5' day);+------------------------------------------+| date_add('2018-06-26',INTERVAL '-5' day) |+------------------------------------------+| 2018-06-21                               |+------------------------------------------+1 row in set (0.01 sec)

备注:expr是字符串,如果加上的正值的天数,直接'5'即可,如果是减可以用date_sub函数或者expr为负值'-5'.

2.对某个日期加上n小时,n分钟,n秒的操作

mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1 hour);  #对于日期加上1小时+-------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL 1 hour) |+-------------------------------------------------+| 2018-06-27 00:59:59                             |+-------------------------------------------------+1 row in set (0.00 sec)mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1 minute);  #对于日期加上1分钟+---------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL 1 minute) |+---------------------------------------------------+| 2018-06-27 00:00:59                               |+---------------------------------------------------+1 row in set (0.00 sec)mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1 second);  #对日期加上1秒钟+---------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL 1 second) |+---------------------------------------------------+| 2018-06-27 00:00:00                               |+---------------------------------------------------+1 row in set (0.00 sec)

3.对于某个日期加上n分钟n秒

mysql> select date_add('2018-06-26 23:59:59',INTERVAL '1:1' MINUTE_SECOND);+--------------------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL '1:1' MINUTE_SECOND) |+--------------------------------------------------------------+| 2018-06-27 00:01:00                                          |+--------------------------------------------------------------+1 row in set (0.00 sec)

备注:一次性加上1分钟,一秒.

4.对于某个日期加上n小时n分钟n秒

mysql> select date_add('2018-06-26 23:59:59',INTERVAL '1:1:1' HOUR_SECOND);+--------------------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL '1:1:1' HOUR_SECOND) |+--------------------------------------------------------------+| 2018-06-27 01:01:00                                          |+--------------------------------------------------------------+1 row in set (0.00 sec)

备注:单位HOUR_SECOND就是从小时到秒.expr:HOURS:MINUTES:SECONDS

5.对某个日期加上n小时n分钟

mysql> select date_add('2018-06-26 23:59:59',INTERVAL '1:1' HOUR_MINUTE);+------------------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL '1:1' HOUR_MINUTE) |+------------------------------------------------------------+| 2018-06-27 01:00:59                                        |+------------------------------------------------------------+1 row in set (0.00 sec)

备注:加上1小时1分钟

6.对某个日期加上几天几小时几分钟几秒钟

mysql> select date_add('2018-06-26 23:59:59',INTERVAL '2 2:1:1' DAY_SECOND);+---------------------------------------------------------------+| date_add('2018-06-26 23:59:59',INTERVAL '2 2:1:1' DAY_SECOND) |+---------------------------------------------------------------+| 2018-06-29 02:01:00                                           |+---------------------------------------------------------------+1 row in set (0.00 sec)

备注:在日期上加上2天2小时2分钟1秒钟

 

unit(单位)和expr(表达式)对照表:

 

小结:

  对于某个日期的计算,无论加上多少,都可以根据这个表格进行调整.对于日期的减法,尽量用date_sub()函数来实现.

 

文档创建时间:2018年6月26日14:01:08

转载于:https://www.cnblogs.com/chuanzhang053/p/9228798.html

你可能感兴趣的文章
零跑C-more收获更多期待,而零跑S01还在追求更多的订单 | 2019 上海车展 ...
查看>>
彩铅,梦境
查看>>
中国存储芯片进入战略关键期
查看>>
rocketmq 同步双写
查看>>
张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用
查看>>
装饰器
查看>>
Linux网卡名改eth0方法
查看>>
指针的意义和linux的内存回收艺术
查看>>
WP7实例篇之土豆搜索器(2)
查看>>
用SHELL脚本自动化安装Nagios服务器端和客户端的
查看>>
JAVA多线程之中断机制(如何处理中断?)
查看>>
vba 工作案例1
查看>>
利用Python了解微信通信机制,实现查询有多少好友删除你!!
查看>>
【mybatis深度历险系列】mybatis中的动态sql
查看>>
瑞典驻华参赞:智慧城市建设提升为国家战略
查看>>
淘富成真,硬件智能—— 硬件创新一站赋能平台
查看>>
网友神总结:我们继续用 XP 的十大理由
查看>>
2014年8月份国内主浏览器市场份额排行榜
查看>>
优云automation实践技巧:简单4步完成自动化构建与发布
查看>>
用Dart搭建HTTP服务器(2)
查看>>