我是靠谱客的博主 独特蜡烛,最近开发中收集的这篇文章主要介绍MySQL中date_add()以及date_format()的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、MySQL终date_add()函数的用法

需求描述:

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

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

操作过程:

date_add()函数语法:

  DATE_ADD(date,INTERVAL expr unit)

备注: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()函数来实现.

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

2、MySQL终date_format()函数的用法

定义和用法

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

语法

DATE_FORMAT(date,format)

date 参数是合法的日期。format 规定日期/时间的输出格式。

可以使用的格式有:

格式描述
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位

实例

下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635

最后

以上就是独特蜡烛为你收集整理的MySQL中date_add()以及date_format()的用法的全部内容,希望文章能够帮你解决MySQL中date_add()以及date_format()的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部