mysql sql dateadd函数_mysql中date_add()函数的使用?

需求描述:

在使用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.00sec)

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 1hour); #对于日期加上1小时+-------------------------------------------------+

| date_add('2018-06-26 23:59:59',INTERVAL 1 hour) |

+-------------------------------------------------+

| 2018-06-27 00:59:59 |

+-------------------------------------------------+

1 row in set (0.00sec)

mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1minute); #对于日期加上1分钟+---------------------------------------------------+

| date_add('2018-06-26 23:59:59',INTERVAL 1 minute) |

+---------------------------------------------------+

| 2018-06-27 00:00:59 |

+---------------------------------------------------+

1 row in set (0.00sec)

mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1second); #对日期加上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(表达式)对照表:

6bde8354f523eee1b1f090cc425e49e4.png

小结:

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值