首页 数据库 mysql教程 MySQL的Data_ADD函数与日期格式化函数说明

MySQL的Data_ADD函数与日期格式化函数说明

Jun 07, 2016 pm 06:02 PM
日期格式化

今天看到了MySQL的日期函数,里面很多有用的,这里只把两个参数不太好记的粘下来了。

  • DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type)

这些函数执行日期运算。 date 是一个 DATETIME 或DATE值,用来指定起始时间。 expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。 Expr是一个字符串;对于负值的时间间隔,它可以以一个 ‘-'开头。 type 为关键词,它指示了表达式被解释的方式。

关键词INTERVA及 type 分类符均不区分大小写。

以下表显示了typeexpr 参数的关系:

MySQL 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 DATE 值,而你的计算只会包括 YEAR、MONTH和DAY部分(即, 没有时间部分), 其结果是一个DATE 值。否则,结果将是一个 DATETIME值。

若位于另一端的表达式是一个日期或日期时间值 , 则INTERVAL expr type只允许在 + 操作符的两端。对于 –操作符, INTERVAL expr type 只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。

mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;

-> '1998-01-01 00:00:00'

mysql> SELECT INTERVAL 1 DAY + '1997-12-31';

-> '1998-01-01'

mysql> SELECT '1998-01-01' - INTERVAL 1 SECOND;

-> '1997-12-31 23:59:59'

mysql> SELECT DATE_ADD('1997-12-31 23:59:59',

-> INTERVAL 1 SECOND);

-> '1998-01-01 00:00:00'

mysql> SELECT DATE_ADD('1997-12-31 23:59:59',

-> INTERVAL 1 DAY);

-> '1998-01-01 23:59:59'

mysql> SELECT DATE_ADD('1997-12-31 23:59:59',

-> INTERVAL '1:1' MINUTE_SECOND);

-> '1998-01-01 00:01:00'

mysql> SELECT DATE_SUB('1998-01-01 00:00:00',

-> INTERVAL '1 1:1:1' DAY_SECOND);

-> '1997-12-30 22:58:59'

mysql> SELECT DATE_ADD('1998-01-01 00:00:00',

-> INTERVAL '-1 10' DAY_HOUR);

-> '1997-12-30 14:00:00'

mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);

-> '1997-12-02'

mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',

-> INTERVAL '1.999999' SECOND_MICROSECOND);

-> '1993-01-01 00:00:01.000001'

若你指定了一个过于短的时间间隔值 (不包括type 关键词所预期的所有时间间隔部分), MySQL 假定你已经省去了时间间隔值的最左部分。 例如,你指定了一种类型的DAY_SECOND, expr 的值预期应当具有天、 小时、分钟和秒部分。若你指定了一个类似 '1:10'的值, MySQL 假定天和小时部分不存在,那么这个值代表分和秒。换言之, '1:10' DAY_SECOND 被解释为相当于 '1:10' MINUTE_SECOND。这相当于 MySQL将TIME 值解释为所耗费的时间而不是日时的解释方式。

假如你对一个日期值添加或减去一些含有时间部分的内容,则结果自动转化为一个日期时间值:

mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 DAY);

-> '1999-01-02'

mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 HOUR);

-> '1999-01-01 01:00:00'

假如你使用了格式严重错误的日期,则结果为 NULL。假如你添加了 MONTH、YEAR_MONTH或YEAR ,而结果日期中有一天的日期大于添加的月份的日期最大限度,则这个日期自动被调整为添加月份的最大日期:

mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);

-> '1998-02-28'

  • DATE_FORMAT(date,format)

根据format 字符串安排date 值的格式。

以下说明符可用在 format 字符串中:

所有其它字符都被复制到结果中,无需作出解释。

注意, ‘%'字符要求在格式指定符之前。

月份和日期说明符的范围从零开始,原因是 MySQL允许存储诸如 '2004-00-00'的不完全日期.

mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');</b>
登录后复制
        -> 'Saturday October 1997'
登录后复制
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');</b>
登录后复制
        -> '22:23:00'
登录后复制
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00',</b>
登录后复制
登录后复制
                          '%D %y %a %d %m %b %j');
登录后复制
        -> '4th 97 Sat 04 10 Oct 277'
登录后复制
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00',</b>
登录后复制
登录后复制
                          '%H %k %I %r %T %S %w');
登录后复制
        -> '22 22 10 10:23:00 PM 22:23:00 00 6'
登录后复制
mysql> <b>SELECT DATE_FORMAT('1999-01-01', '%X %V');</b>
登录后复制
        -> '1998 52'
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP语言开发中如何处理日期格式化错误? PHP语言开发中如何处理日期格式化错误? Jun 09, 2023 pm 06:40 PM

在PHP语言开发中,日期格式化错误是一个常见的问题。正确的日期格式对于程序员来说十分重要,因为它决定着代码的可读性、可维护性和正确性。本文将分享一些处理日期格式化错误的技巧。了解日期格式在处理日期格式化错误之前,我们必须先了解日期格式。日期格式是由各种字母和符号组成的字符串,用于表示特定的日期和时间格式。在PHP中,常见的日期格式包括:Y:四位数年份(如20

如何使用Python正则表达式进行日期格式化 如何使用Python正则表达式进行日期格式化 Jun 22, 2023 pm 08:25 PM

Python正则表达式是一种非常强大的文本处理工具,它可以对字符串进行匹配、替换、提取等操作。在实际开发中,我们经常需要对日期进行格式化,例如将“2022/10/01”转换成“2022年10月01日”的格式。本文将介绍如何使用Python正则表达式进行日期格式化。一、Python正则表达式概述Python正则表达式是一个特殊的字符串模式,它描述了一系列符合某

如何使用Java中的DateFormat函数进行日期格式化 如何使用Java中的DateFormat函数进行日期格式化 Jun 26, 2023 pm 05:01 PM

Java是一种流行的编程语言,其中包括了许多强大的日期和时间处理工具。其中最常用的工具是DateFormat函数,该函数可以将日期数据格式化为特定的字符串格式。本文将介绍如何使用Java中的DateFormat函数进行日期格式化。导入Date和DateFormat类在开始使用DateFormat函数前,我们需要导入Java中的Date和DateFormat类

PHP时间处理技巧:快速计算时间差和日期格式化 PHP时间处理技巧:快速计算时间差和日期格式化 Mar 01, 2024 am 08:54 AM

PHP时间处理技巧:快速计算时间差和日期格式化随着互联网的快速发展,时间处理成为Web开发中常见的任务之一。在PHP中,时间的处理是一个比较常见的需求,比如计算时间差、对日期进行格式化等操作。本文将介绍一些PHP时间处理的技巧,包括快速计算时间差和日期格式化,并附带一些具体的代码示例。计算时间差在很多应用场景下,我们需要计算两个时间点之间的时间差,比如计算两

如何在Java中使用日期和时间函数进行日期计算和格式化 如何在Java中使用日期和时间函数进行日期计算和格式化 Oct 20, 2023 am 11:24 AM

如何在Java中使用日期和时间函数进行日期计算和格式化在Java中,日期和时间是非常常见且重要的数据类型。为了方便处理日期和时间,Java提供了丰富的日期和时间函数,可以进行日期计算、格式化等操作。下面将详细介绍如何在Java中使用日期和时间函数,以及附上代码示例。一、日期计算获取当前日期使用java.time.LocalDate类可以获取当前的日期。示例代

解决Java日期格式化异常(DateTimeParseException)的解决方案 解决Java日期格式化异常(DateTimeParseException)的解决方案 Aug 19, 2023 pm 03:36 PM

解决Java日期格式化异常(DateTimeParseException)的解决方案概述:在Java中,日期格式化是一个常见的任务。通过使用SimpleDateFormat类或Java8中提供的新的日期时间API(如DateTimeFormatter),我们可以将日期和时间转换为指定的格式。然而,有时候在进行日期格式化时,可能会遇到DateTimePars

PHP中的日期和时间格式化 PHP中的日期和时间格式化 Sep 01, 2023 pm 08:37 PM

在开发网站时,您经常需要使用日期和时间。例如,您可能需要显示帖子的最后修改日期或提及读者发表评论的时间。您可能还需要显示特殊事件发生之前的倒计时。幸运的是,PHP附带了一些内置的日期和时间函数,这将帮助我们轻松完成所有这些工作。本教程将教您如何在PHP中设置当前日期和时间的格式。您还将学习如何从日期字符串获取时间戳以及如何添加和减去不同的日期。获取字符串格式的日期和时间date($format,$timestamp)是PHP中最常用的日期和时间函数之一。它将所需的日期输出格式作为第一个参数,并将

Java日期问题的解决方法 Java日期问题的解决方法 Jun 30, 2023 am 10:27 AM

如何解决Java开发中的日期处理问题日期处理是Java开发中经常遇到的一个重要问题。在实际开发过程中,我们常常需要进行日期的比较、格式转换、计算等操作。而日期处理涉及到的细节和坑也是相当多的。下面将介绍一些常见的日期处理问题及其解决方法。一、日期格式化在Java中,日期格式化主要依靠SimpleDateFormat类来实现。但是,在格式化日期时,经常会出现一

See all articles