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

今天看到了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
如何使用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语言开发中如何处理日期格式化错误?Jun 09, 2023 pm 06:40 PM

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

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

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

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

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

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

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

PHP格式化一个本地时间/日期PHP格式化一个本地时间/日期Mar 21, 2024 pm 02:30 PM

这篇文章将为大家详细讲解有关PHP格式化一个本地时间/日期,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP格式化本地时间/日期格式化本地时间和日期在php中是一个常见的任务,可以通过PHP的内置函数和类实现。内置函数PHP提供了几个内置函数来格式化时间和日期:date():用于格式化当前时间和日期,并根据提供的格式字符串返回结果。strftime():类似于date(),但它使用POSIX的strftime()函数提供更高级的格式化选项。格式化参数date

PHP如何处理日期和时间问题PHP如何处理日期和时间问题Jun 30, 2023 am 08:37 AM

PHP开发中如何处理日期和时间处理问题概述:在PHP开发过程中,日期和时间处理是非常常见的需求。无论是处理用户注册时间、日程安排还是数据统计分析,对日期和时间进行准确的处理是非常重要的。本文将介绍一些常用的PHP日期和时间处理函数以及一些实践经验。获取当前日期和时间在PHP中,可以使用date函数来获取当前日期和时间。date函数的语法如下:stringd

See all articles

热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.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

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

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),