SUBDATE()函数的作用是从日期中减去指定的天数、月数或年数并返回新的日期值。它的语法如下:
SUBDATE(date, INTERVAL expr unit)
其中,date是一个合法的日期或日期/时间值,expr是一个用于表示要减去的天数、月数或年数的表达式,unit是一个字符串,可以是DAY、WEEK、MONTH或YEAR,表示要减去的单位。
使用方法:
假设有一个名为employee的表,其中包含了员工入职时间(hiredate)和员工号(emp_no)两列。如果要查询入职时间早于5年前的所有员工信息,可以使用SUBDATE()函数:
SELECT * FROM employee WHERE hiredate < SUBDATE(NOW(), INTERVAL 5 YEAR);
以上语句中,用NOW()获取当前时间,然后用SUBDATE()从当前时间中减去5年得到一个新的日期值,然后将hiredate与该日期值进行比较,从而实现查询入职时间早于5年前的员工信息。
再比如,假设有一个名为sales的表,其中包含了销售日期(sales_date)和销售额(sales_amount)两列。如果要查询2019年1月1日之后的所有销售记录的销售额总和,可以使用SUBDATE()函数:
SELECT SUM(sales_amount) FROM sales WHERE sales_date > SUBDATE('2019-01-01', INTERVAL 1 DAY);
以上语句中,用字符串'2019-01-01'作为日期,然后用SUBDATE()从该日期中减去1天得到一个新的日期值,然后将sales_date与该日期值进行比较,从而实现查询2019年1月1日之后的销售记录的销售额总和。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MySQL的SUBDATE()函数:从一个日期中减去一个时间间隔 - Python技术站