在mysql中date_add與date_sub函數分別date_add是對日期加減操作而date_sub是從日期減去指定的時間間隔了,下面我來介紹幾個實例大家一起看看
mysql 中 DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type)
這些函數執行日期運算,date 是一個 DATETIME 或DATE值,用來指定起始時間,expr 是一個表達式,用來指定從起始日期添加或減去的時間間隔值,Expr是一個字符串;對于負值的時間間隔,它可以以一個 ‘-’開頭,type 為關鍵詞,它指示了表達式被解釋的方式.
關鍵詞INTERVA及 type 分類符均不區分大小寫.
mysql中內置函數date_add和date_sub能對指定的時間進行增加或減少一個指定的時間間隔,語法如下:
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
其中date是指定的日期,INTERVAL為關鍵詞,expr是具體的時間間隔,type是時間單位。注意:type可以復合型的,比如YEAR_MONTH,如果type不是復合型的,DATE_ADD和DATE_SUB其實可以通用,因為expr可以為一個負數.
MICROSECOND 間隔單位:毫秒
SECOND 間隔單位:秒
MINUTE 間隔單位:分鐘
HOUR 間隔單位:小時
DAY 間隔單位:天
WEEK 間隔單位:星期
MONTH 間隔單位:月
QUARTER 間隔單位:季度
YEAR 間隔單位:年
SECOND_MICROSECOND 復合型,間隔單位:秒、毫秒,expr可以用兩個值來分別指定秒和毫秒
MINUTE_MICROSECOND 復合型,間隔單位:分、毫秒
MINUTE_SECOND 復合型,間隔單位:分、秒
HOUR_MICROSECOND 復合型,間隔單位:小時、毫秒
HOUR_SECOND 復合型,間隔單位:小時、秒
HOUR_MINUTE 復合型,間隔單位:小時分
DAY_MICROSECOND 復合型,間隔單位:天、毫秒
DAY_SECOND 復合型,間隔單位:天、秒
DAY_MINUTE 復合型,間隔單位:天、分
DAY_HOUR 復合型,間隔單位:天、小時
YEAR_MONTH 復合型,間隔單位:年、月
對應復合型的type,需要使用引號對兩個參數進行引用起來,中間用任何非數字字符作為間隔即可,并且不能使用負數,但是時間間隔只指定了一個值,那么也能正常工作,但是對應XXX_YYY使用的單位為YYY,也就相當于單一單位的type,同時可以使用負數。復合型的用法如下.
- mysql> select date_add('2013-01-18', interval '1 2' YEAR_MONTH);
- +-----------------------------------------------------+
- | date_add('2013-01-18', interval '1 2' YEAR_MONTH) |
- +-----------------------------------------------------+
- | 2014-03-18 |
- +-----------------------------------------------------+
- mysql> select date_add('2013-01-18', interval '1-2' YEAR_MONTH);
- +----------------------------------------------------+
- | date_add('2013-01-18', interval '1-2' YEAR_MONTH) |
- +----------------------------------------------------+
- | 2014-03-18 |
- +----------------------------------------------------+
- mysql> select date_add('2013-01-18', interval '1,2' YEAR_MONTH);
- +---------------------------------------------------+
- | date_add('2013-01-18', interval '1,2' YEAR_MONTH) |
- +---------------------------------------------------+
- | 2014-03-18 |
- +---------------------------------------------------+
- mysql> select date_add('2013-01-18', interval 1 YEAR_MONTH);
- +-----------------------------------------------+
- | date_add('2013-01-18', interval 1 YEAR_MONTH) |
- +-----------------------------------------------+
- | 2013-02-18 |
- +-----------------------------------------------+
- mysql> select date_add('2013-01-18', interval -1 YEAR_MONTH);
- +------------------------------------------------+
- | date_add('2013-01-18', interval -1 YEAR_MONTH) |
- +------------------------------------------------+
- | 2012-12-18 | --Vevb.com
- +------------------------------------------------+
新聞熱點
疑難解答