我有一个表products
,其中有两列:id
为INT
,creation_date
为DATE
。
我想要检索所有年龄小于5个月的产品。
mySQL上的哪个SQL查询可以实现这个目标?
答案 0 :(得分:3)
使用MySQL的DATESUB功能:
SELECT * FROM products
WHERE creation_date > DATE_SUB(NOW(), INTERVAL 5 MONTH)
来自文档:
DATE_ADD(日期,INTERVAL expr单位),DATE_SUB(日期,INTERVAL expr单位)
这些函数执行日期算术。 date参数指定 开始日期或日期时间值。 expr是一个指定的表达式 要从开始日期添加或减去的间隔值。 expr是一个字符串;对于负间隔,它可能以“ - ”开头。单元 是一个关键字,表示表达式应该在的单位 解释
答案 1 :(得分:0)
只需使用日期时间添加定义的函数here
select *
from products
where creation_date > DATE_ADD(NOW(), INTERVAL -5 MONTH);