[英]SELECT Query where date column is X ago where X is another column
我正在嘗試使用NOW() - INTERVAL
運行一個查詢,其中日期列是很多天/幾個月前,但是天/月數在另一個列中,該列稱為payment_period
SELECT *
FROM customer_subscriptions
WHERE
status = 'Active' AND (
( auto_renew = '1' AND expiry_date <= '".date("Y-m-d")."')
OR (last_charge NOW() - INTERVAL payment_period)
)
last_charge NOW()-間隔期付款
您缺少兩件事:
假設payment_period表示為天,則需要:
last_charge >= NOW() - INTERVAL payment_period DAY
另一種可能性是將unit
存儲在另一列中,然后:
last_charge >= CASE
WHEN unit = 'DAY' THEN NOW() - INTERVAL val DAY
WHEN unit = 'MONTH' THEN NOW() - INTERVAL val MONTH
-- ... other supported units ...
END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.