日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

MySQL date_add()函数​​​​​​​

發(fā)布時(shí)間:2023/12/3 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL date_add()函数​​​​​​​ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自? ?MySQL date_add()函數(shù)

MySQL DATE_ADD函數(shù)簡(jiǎn)介

DATE_ADD函數(shù)將間隔時(shí)間添加到DATE或DATETIME值。 下面說明了DATE_ADD函數(shù)的語法:

DATE_ADD(start_date, INTERVAL expr unit);

DATE_ADD函數(shù)有兩個(gè)參數(shù):

  • start_date是DATE或DATETIME的起始值。
  • INTERVAL expr unit是要添加到起始日期值的間隔值。

根據(jù)參數(shù),DATE_ADD函數(shù)可能會(huì)返回一個(gè)DATETIME值或一個(gè)字符串:

  • DATETIME?- 如果第一個(gè)參數(shù)是DATETIME值,或者如果間隔值具有時(shí)間元素,如小時(shí),分鐘或秒等。
  • 否則返回字符串。

MySQL DATE_ADD函數(shù)示例

我們來看幾個(gè)例子來了解DATE_ADD函數(shù)的工作原理。

示例-1?加1秒到時(shí)間:2017-12-31 23:59:59:

mysql> SELECT DATE_ADD('2017-12-31 23:59:59', INTERVAL 1 SECOND) result; +---------------------+ | result | +---------------------+ | 2018-01-01 00:00:00 | +---------------------+ 1 row in set

示例-2?- 添加1天到時(shí)間:2017-12-31 00:00:01:

mysql> SELECT DATE_ADD('2017-12-31 00:00:01',INTERVAL 1 DAY) result; +---------------------+ | result | +---------------------+ | 2018-01-01 00:00:01 | +---------------------+ 1 row in set

示例-3?- 在時(shí)間2017-12-31 23:59:59上加1分1秒。

mysql> SELECT DATE_ADD('2017-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND) result; +---------------------+ | result | +---------------------+ | 2018-01-01 00:01:00 | +---------------------+ 1 row in set

示例-4?- 在時(shí)間2000-01-01 00:00:00上加-1天5小時(shí)。

mysql> SELECT DATE_ADD('2000-01-01 00:00:00', INTERVAL '-1 5' DAY_HOUR) result; +---------------------+ | result | +---------------------+ | 1999-12-30 19:00:00 | +---------------------+ 1 row in set

示例-5?- 添加1秒和999999微秒到時(shí)間:2017-12-31 23:59:59.000002:

mysql> SELECT DATE_ADD('2017-12-31 23:59:59.000002',INTERVAL '1.999999' SECOND_MICROSECOND) result; +----------------------------+ | result | +----------------------------+ | 2018-01-01 00:00:01.000001 | +----------------------------+ 1 row in set

MySQL DATE_ADD函數(shù)使用說明

間隔處理

在間隔期間 -

INTERVAL expr unit

expr被視為一個(gè)字符串,因此,當(dāng)為expr使用非字符串值時(shí),您應(yīng)該小心。 例如,間隔為HOUR_MINUTE,5/2求值結(jié)果為2.5000(不是2.5),并被視為2小時(shí)5000分鐘,如下面的語句所示:

mysql> SELECT DATE_ADD('2017-01-01', INTERVAL 5 / 2 HOUR_MINUTE) result; +---------------------+ | result | +---------------------+ | 2017-01-04 13:20:00 | +---------------------+ 1 row in set

為了確保非串間隔值的正確解釋,您應(yīng)該使用CAST函數(shù),如下所示:

mysql> SELECT DATE_ADD('2017-01-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) HOUR_MINUTE) result; +---------------------+ | result | +---------------------+ | 2017-01-01 01:05:00 | +---------------------+ 1 row in set

自動(dòng)DATETIME轉(zhuǎn)換

如果您將時(shí)間值添加到日期值,則結(jié)果為DATETIME值,如以下示例所示:

mysql> SELECT DATE_ADD('2017-01-01', INTERVAL 12 HOUR) result; +---------------------+ | result | +---------------------+ | 2017-01-01 12:00:00 | +---------------------+ 1 row in set

起始日期無效

如果對(duì)第一個(gè)參數(shù)使用無效的日期,DATE_ADD函數(shù)將返回NULL,例如:

mysql> SELECT DATE_ADD('2017-02-30', INTERVAL 1 DAY) result; +--------+ | result | +--------+ | NULL | +--------+ 1 row in set

如果要詳細(xì)看到警告,請(qǐng)使用SHOW WARNINGS語句:

mysql> SHOW WARNINGS; +---------+------+----------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------+ | Warning | 1292 | Incorrect datetime value: '2017-02-30' | +---------+------+----------------------------------------+ 1 row in set

調(diào)整日,月或年

如果您將MONTH,YEAR或YEAR_MONTH的間隔添加到導(dǎo)致日期大于新月份的最大日期的日期,則該日期將被調(diào)整為新月份的最大日期。

請(qǐng)看看以下示例:

mysql> SELECT DATE_ADD('2017-01-30', INTERVAL 1 MONTH) result; +------------+ | result | +------------+ | 2017-02-28 | +------------+ 1 row in set

在這個(gè)例子中,我們?cè)?017年1月30日相加上了1個(gè)月,結(jié)果是2017年2月28日。這一天被調(diào)整到2017年2月的最大天數(shù)。

如果是2月份有29天,日期也將調(diào)整為第29天,如下所示:

mysql> SELECT DATE_ADD('2012-01-30', INTERVAL 1 MONTH) result; +------------+ | result | +------------+ | 2012-02-29 | +------------+ 1 row in set

在本教程中,您已經(jīng)學(xué)習(xí)了如何使用MySQL?DATE_ADD函數(shù)將間隔添加到DATE或DATETIME值。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的MySQL date_add()函数​​​​​​​的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。