gpt4 book ai didi

mysql - 选择查询,其中日期列是 X 之前,其中 X 是另一列

转载 作者:行者123 更新时间:2023-11-29 05:50:32 25 4
gpt4 key购买 nike

我正在尝试使用 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() - INTERVAL payment_period

你错过了两件事:

  • 要比较的日期之间的运算符 (>=)
  • 间隔单位

假设 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

关于mysql - 选择查询,其中日期列是 X 之前,其中 X 是另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54840277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com