假如现在时间为2016-08-01 16:25:46
NOW()、CURDATE()、CURTIME() 、day(CURTIME() )
NOW() 则返回 2016-08-01 16:25:46
CURDATE() 则返回 2016-08-01
CURTIME() 则返回 16:25:46
day(CURTIME() ) 则返回 1
day()
DATE_SUB() 时间向前推进 参数为负数时则相反
注意:SUBDATE() 和DATE_ADD() 用法相同
date_sub(‘2016-08-01’,interval 1 day) 表示 2016-07-31
date_sub(‘2016-08-01’,interval 0 day) 表示 2016-08-01
date_sub(‘2016-08-01’,interval -1 day) 表示 2016-08-02
date_sub(curdate(),interval 1 day) 表示 2016-07-31
date_sub(curdate(),interval -1 day) 2016-08-02
date_sub(curdate(),interval 1 month) 表示 2016-07-01
date_sub(curdate(),interval -1 month) 表示 2016-09-01
date_sub(curdate(),interval 1 year) 表示 2015-08-01
date_sub(curdate(),interval -1 year) 表示 2017-08-01
DATE_ADD() 时间向后推移 参数为负数时则相反
注意:ADDDATE() 和DATE_ADD() 用法相同
date_add(curdate(), interval - day(curdate()) + 1 day)表示 当前月1号 2016-08-01
当月1号也可以这样获得 :DATE_FORMAT(CURDATE(), ‘%Y-%m-01’);
LAST_DAY(CURDATE())
LAST_DAY(CURDATE()) 表示 当前月末 2016-08-31