gpt4 book ai didi

mysql - 2个日期之间的天数 - MYSQL

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

我有 2 个日期,我正在尝试计算从 1998 年算起有多少天。

我当前的代码返回日期之间的天数,而不是 1998 年以来的天数。

示例:

salaries.from_date = 1997-06-23
salaries.to_date = 1998-06-23

查询:

  select datediff("1999-01-01", salaries.from_date)
, salaries.from_date
, salaries.to_date
from salaries
where YEAR(salaries.from_date) = 1998
or YEAR(salaries.to_date) = 1998;

最佳答案

据我所知,对于给定的日期间隔,您想要计算 1998 年有多少天。

我建议以下逻辑:

DATEDIFF(
CASE
WHEN to_date > '1998-12-31' THEN '1998-12-31'
WHEN to_date < '1998-01-01' THEN '1998-01-01'
ELSE to_date
END,
CASE
WHEN from_date > '1998-12-31' THEN '1998-12-31'
WHEN from_date < '1998-01-01' THEN '1998-01-01'
ELSE from_date
END
)

这可能可以简化为:

DATEDIFF(
LEAST(GREATEST(to_date, '1998-01-01'), '1998-12-31'),
LEAST(GREATEST(from_date, '1998-01-01'), '1998-12-31')
)

关于mysql - 2个日期之间的天数 - MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54268778/

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