0
我被困在尝试使用某些sql来确定日期是否在90,60或30天内。我认为我很接近,但无法正常工作。我有一个名为boosterDate的列,它是MySQL中的一个日期。我希望检查该列是否在距离DATE(Now())90,60或30天内,然后将列增强器在天数设置为90,60或30天。表名是服务。在MySQL中使用CASE比较日期
这里是我到目前为止:
$sql = "SELECT
CASE WHEN DATE(boosterDate) < ADDDATE(DATE(NOW()),INTERVAL 90 DAY) THEN 90
WHEN DATE(boosterDate) < ADDDATE(DATE(NOW()),INTERVAL 60 DAY) THEN 60
WHEN DATE(boosterDate) < ADDDATE(DATE(NOW()),INTERVAL 30 DAY) THEN 30
ELSE NULL END FROM service;";
我得到那么列boosterWithinDays要么是90,60或30天,虽然怎么办。所以我需要通过boosterDate循环,找到日期是在30,60或90天内,然后将另一列设置为30,60或90. – ndjustin20
@ ndjustin20。 。 。这是第二个查询所做的。 –
不错的答案,这里是证明:http://sqlfiddle.com/#!2/4eb4c8/2 – CodeZombie