SUBDATE() 日期減法

SUBDATE(date,INTERVAL expr unit)
SUBDATE(expr,days)
  • date 傳入的日期
  • expr 傳入的時間
  • unit 傳入的單位
  • days 傳入的日數

當第二個參數使用INTERVAL, SUBDATE()和DATE_SUB()的意義相同。
對於有關INTERVAL參數的資料,請參考DATE_ADD()
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
-> '1997-12-02'

mysql> SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY);
-> '1997-12-02'


第二個函式允許對days使用整數值。在這些情況下,它被算作由日期或日期時間表達式expr減去天數。
mysql> SELECT SUBDATE('1998-01-02 12:00:00', 31);
-> '1997-12-02 12:00:00'

注意不能使用格式 "%X%V" 來將一個 year-week 字串轉化為一個日期,原因是當一個星期跨越一個月份界限時,一個年和星期的組合不能標示一個唯一的年和月份。若要將year-week轉化為一個日期,則也應指定具體工作日:
mysql> select str_to_date('200442 Monday', '%X%V %W');
-> 2004-10-18

沒有留言: