【发布时间】:2020-05-08 15:00:46
【问题描述】:
我希望根据日期、间隔号和期间(日、周、月和年)的集合来计算到期日。
这是我的数据
预计到期日为2020-09-24,基于以下计算
((2020-01-22)+8 months)+((2020-01-22)+2 days) = 2020-09-24
我尝试使用以下选择查询,但它没有显示预期的输出,
SELECT CASE t.cycle_period
WHEN "day" THEN DATE_ADD(t.createdTime, INTERVAL t.cycle_number DAY)
WHEN "week" THEN DATE_ADD(t.createdTime, INTERVAL t.cycle_number WEEK)
WHEN "month" THEN DATE_ADD(t.createdTime, INTERVAL t.cycle_number MONTH)
WHEN "year" THEN DATE_ADD(t.createdTime, INTERVAL t.cycle_number YEAR)
END
AS expiry, t.cycle_period FROM (
SELECT DATE_FORMAT(createdTime,'%Y-%m-%d') AS createdTime,SUM(cycle_number) AS cycle_number,
cycle_period FROM subscriptions
WHERE STATUS='COMPLETED' AND user_id='2'
GROUP BY DATE_FORMAT(createdTime,'%Y-%m-%d'),cycle_period
ORDER BY createdTime DESC) t
请帮忙!
【问题讨论】:
-
考虑处理应用代码中数据显示的问题