gpt4 book ai didi

mysql - 在 mysql 中使用日期计数和日期差异

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

我正在尝试从表格中选择日期并计算天数。

基本上,如果列中的日期值大于 180 天前,我只想返回 180。但是,如果它小于 180 天前,那么我想要天数。

180 是应该返回的最大值,但现在我得到的数字不正确。

这个查询

select 
case when p.start_date >= (curdate() - interval 180 day) then 180
when p.start_date <= (curdate()-interval 180 day) then DATEDIFF(curdate(),p.start_date) end
from table;

返回 540 作为 2017-04-14 的计数和 180 作为 2018-07-20 的计数,但我应该分别得到 180 和 78。

我到底做错了什么?

最佳答案

  • 使用 Datediff() 计算天数差异功能。
  • 使用Least()函数,您可以找到 180 中的最小值和天数之差。如果差值大于 180,则返回 180;否则区别。

尝试以下操作:

SELECT LEAST(180, DATEDIFF(curdate(), p.start_date)) 
FROM table

关于mysql - 在 mysql 中使用日期计数和日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52682265/

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