gpt4 book ai didi

mysql - 每月第 N 个工作日

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

我想做的伪代码:

SELECT * FROM table WHERE NTH_DAY(DATE(table_date)) = NTH_DAY($input_date);

我想确定给定日期是一个月中的第 n 个工作日。例如,如果给定输入“2013-08-30”,它应该返回 5,因为它是该工作日(星期五)在该月中的第五次出现。

我一直在阅读无数类似的问题,但大多数人都在寻找相反的问题,例如他们想找到第五个星期五的日期,而我想确定日期的第 n 个数字是多少。 Other questions似乎是我所追求的,但它们使用的是我不理解的不同编程语言。

有人可以解释一下这在 MySQL 查询中是否可行以及如何实现吗?

最佳答案

要找出给定的一天是第“第 n 天”是相当容易的:

select (case when day(table_date) between 1 and 7 then 1
when day(table_date) between 8 and 14 then 2
when day(table_date) between 15 and 21 then 3
when day(table_date) between 22 and 28 then 4
else 5
end) as NthDay

您也可以使用“余数”算法来做到这一点:

select 1 + floor((day(table_date) - 1) / 7) ) as NthDay

关于mysql - 每月第 N 个工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18365271/

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