MYSQL用例从curdate()中减去天数

问题描述 投票:0回答:1

我想根据案例费用从上市费用中减去curdate()的30天或60天如果刊登费= 5或6,则减去30天如果刊登费= 7或8,则减去60天

我已经尝试过了,但是似乎没有用

where `status`='C' and `close_date`>curdate() AND  `date_posted` < curdate() - 
CASE 
    WHEN listing_fee = 5 THEN INTERVAL 30 DAY
    WHEN listing_fee = 6 THEN INTERVAL 30 DAY
    WHEN listing_fee = 7 THEN INTERVAL 60 DAY
    WHEN listing_fee = 8 THEN INTERVAL 60 DAY

END
mysql
1个回答
0
投票
(CASE 
    WHEN listing_fee = 5 THEN  `date_posted` < DATE_SUB(curdate(), INTERVAL 30 DAY)
    WHEN listing_fee = 6 THEN  `date_posted` < DATE_SUB(curdate(), INTERVAL 30 DAY)
    WHEN listing_fee = 7 THEN  `date_posted` < DATE_SUB(curdate(), INTERVAL 60 DAY)
    WHEN listing_fee = 8 THEN  `date_posted` < DATE_SUB(curdate(), INTERVAL 60 DAY)
    ELSE 0/1 END # <- don't know what result
)
© www.soinside.com 2019 - 2024. All rights reserved.