关于MySQL中DATE_ADD()与DATE_SUB()的一些用法

DATE_ADD()与DATE_SUB()都是对时间进行操作,前者是加后者是减,仅是加减方向的不同。并且,两者都能操作负数,即加负数和减负数。

格式也相同

DATE_ADD(date,interval A B)

DATE_SUB(date,interval A B)

其中A表示数值,B表示单位,比如:

DATE_ADD(NOW(),interval 1 day)

而且,这两个函数都支持复合表达式,比如YEAR_MONTH,即对年和月同时进行加减,比如:

DATE_ADD(NOW(),interval '1,1' YEAR_MONTH)--对年和月同时加一

复合表达时,数值中,两个数字间的任何字符都被认为是分隔符,比如:

'1,1'可以换成'1 1' '1-1' '1x1'

是的,包括负号、字母等负号都被认为是两个数的分隔符。

如果没有分隔符,则被认为都作用在复合表达式中后面的那个单位上,比如:

DATE_ADD(NOW(),interval '11' YEAR_MONTH)--在月上加了11个,年没有变化

复合表达式,可以同时做减操作

DATE_ADD(NOW(),interval '-1,-1' YEAR_MONTH)--对年和月同时减1

同样,两个数字间的任何负号都被认为是连接符,包括负号。

所以'-1,-1'可以被替换成'-1x-1' '-1--1' '-1 -1',是的负号也可以作为负数间的连接符

但不支持做一加一减

你可能感兴趣的:(mysql)