注册

详解MySQL的DATE_SUB()函数:从日期减去一个时间间隔

MySQL的DATE_SUB()函数用于从指定的日期中减去一个时间间隔。具体而言,它可以从一个日期或时间减去指定的天数、小时、分钟、秒等。它的语法为:

DATE_SUB(date, INTERVAL expr unit);

其中,date表示需要进行操作的日期或时间对象,expr表示需要减去的时间间隔,unit表示时间间隔的单位,可以是DAY、HOUR、MINUTE、SECOND等。

下面我们来看几个具体的例子。

1. 从当前时间中减去10天

SELECT DATE_SUB(NOW(), INTERVAL 10 DAY);

这个例子中使用了NOW()函数来获取当前时间,然后将其减去10天,输出结果为当前时间往前推10天的时间。

2. 从指定的日期中减去1小时

SELECT DATE_SUB('2020-11-12 16:30:20', INTERVAL 1 HOUR);

这个例子中使用了一个字符串作为日期对象(MySQL会自动将其转换为日期类型),然后将其减去1小时,输出结果为指定日期往前推1小时后的时间。

除了以上两个例子,还可以根据需要使用不同的时间间隔单位和时间对象,来实现各种日期计算的需求。需要注意的是,如果要将一个日期加上一个时间间隔,可以使用DATE_ADD()函数。