在自己连续几次忘记syntax必须要重新google,并且adddate, add_date, dateadd, date_add傻傻分不清之后,决定记录一下MySQL里ADDDATE, DATE_ADD这两个函数的相同与不同。
相同
ADDDATE和DATE_ADD的基本syntax是一样的:
ADDDATE(@date, INTERVAL value unit)
例如:
ADDDATE(@date, INTERVAL 3 DAY) # add 3 days to @date
DATE_ADD(@date, INTERVAL -20 MINUTE) # subtract 20 minutes to @date
其中,可选的时间单位非常多,从MICROSECOND, SECOND, 到MONTH, QUARTER, YEAR都可以接受。甚至复合的时间单位,如HOUR_MINUTE, DAY_HOUR, YEAR_MONTH也可以,例如:
ADDDATE(@date, INTERVAL '1-2' YEAR_MONTH)
不同
两个函数的不同之处在于,当只进行以日为单位的日期加减时,ADDDATE有一个简写的使用方法,而DATE_ADD没有:
ADDDATE(@date, 1) # add one day to @date
总结
因此,为了避免混淆,在实际使用中建议只用ADDDATE这个函数,因为它的功能和DATE_ADD相同,并且支持以日为单位的缩写。
本文详细比较了MySQL中的ADDDATE和DATE_ADD函数,阐述了它们的相同语法、不同之处,以及为何推荐使用ADDDATE以避免混淆。
396

被折叠的 条评论
为什么被折叠?



