sql计算时,一般我们来做时间加减会unix_timestamp和from_unixtime结合使用:先把时间unix距1970年至今的整数秒,再进行加减就达到了时间前后的目的,详见我另一篇blog:/mochou111/article/details/104520108
现在我们来认识一个在时间加减上更为简便的函数:INTERVAL
举例说明,我们想要
- 当前时间十秒前的时间
select current_timestamp() - INTERVAL 10 second
- 1年后的时间
select current_timestamp() + INTERVAL 1 year
还可以按照年月,月日,日时,时分,分秒的格式来间隔
格式是以任意分隔符(一般是空格),对应的是year_month,month_day等,需要注意的是必须是相邻的,且大单位在前,比如只能是年月(year_month),不能是月年,更不能是年时,年分等
比如一年一月前
select current_timestamp() - INTERVAL '1 1' year_month