gpt4 book ai didi

Mysql ADDDATE() 或 DATE_ADD() 与表列?

转载 作者:行者123 更新时间:2023-11-29 06:21:41 25 4
gpt4 key购买 nike

我该如何做类似以下的事情

SELECT ADDDATE(t_invoice.last_bill_date, INTERVAL t_invoice.interval t_invoice.interval_unit) 
FROM t_invoice

...其中列 t_invoice.last_bill_date 是日期,t_invoice.interval 是整数,t_invoice.interval_unit 是字符串。

我喜欢 ADDDATE() 函数的一点是,如果我写一个

SELECT ADDDATE('2010-01-31', INTERVAL 1 MONTH)

它可以方便地返回二月的最后一天 - 2010-02-28。所以它知道 1 MONTH 表示 2 月有 28 天(闰年为 29 天),如果是奇数月则为 31 天,如果是偶数月则为 30 天。我想在我的查询中保留此功能。

基本上,我想根据一个人所需的计费频率来确定他的下一个账单日期。有没有更好的方法来实现这一目标?

最佳答案

SELECT t_invoice.last_bill_date +  INTERVAL 
CASE t_invoice.interval_unit
WHEN 'minute' THEN t_invoice.interval
WHEN 'hour' THEN t_invoice.interval*60
WHEN // etc...
END MINUTE as col1
FROM t_invoice

SELECT 
CASE t_invoice.interval_unit
WHEN 'minute' THEN t_invoice.last_bill_date + INTERVAL t_invoice.interval MINUTE
WHEN 'hour' THEN t_invoice.last_bill_date + INTERVAL t_invoice.interval HOUR
WHEN // etc...
END as col1
FROM t_invoice

关于Mysql ADDDATE() 或 DATE_ADD() 与表列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057905/

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