日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

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

發布時間:2023/12/3 32 豆豆
默认站点 收集整理的這篇文章主要介紹了 MySQL date_add()函数​​​​​​​ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自? ?MySQL date_add()函數

MySQL DATE_ADD函數簡介

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

DATE_ADD(start_date, INTERVAL expr unit);

DATE_ADD函數有兩個參數:

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

根據參數,DATE_ADD函數可能會返回一個DATETIME值或一個字符串:

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

MySQL DATE_ADD函數示例

我們來看幾個例子來了解DATE_ADD函數的工作原理。

示例-1?加1秒到時間: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天到時間: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?- 在時間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?- 在時間2000-01-01 00:00:00上加-1天5小時。

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微秒到時間: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函數使用說明

間隔處理

在間隔期間 -

INTERVAL expr unit

expr被視為一個字符串,因此,當為expr使用非字符串值時,您應該小心。 例如,間隔為HOUR_MINUTE,5/2求值結果為2.5000(不是2.5),并被視為2小時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

為了確保非串間隔值的正確解釋,您應該使用CAST函數,如下所示:

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

自動DATETIME轉換

如果您將時間值添加到日期值,則結果為DATETIME值,如以下示例所示:

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

起始日期無效

如果對第一個參數使用無效的日期,DATE_ADD函數將返回NULL,例如:

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

如果要詳細看到警告,請使用SHOW WARNINGS語句:

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

調整日,月或年

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

請看看以下示例:

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

在這個例子中,我們在2017年1月30日相加上了1個月,結果是2017年2月28日。這一天被調整到2017年2月的最大天數。

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

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

在本教程中,您已經學習了如何使用MySQL?DATE_ADD函數將間隔添加到DATE或DATETIME值。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是默认站点為你收集整理的MySQL date_add()函数​​​​​​​的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。