mysql firstday

您所在的位置:网站首页 mysql取当月第一天 mysql firstday

mysql firstday

2023-09-01 18:12| 来源: 网络整理| 查看: 265

备注:测试数据库版本为MySQL 8.0

一.需求:

计算当前月的第一个星期一及最后一个星期一的日期。

二.解决方案

这里选用了Monday和当前月,也可以将该解决方案应用于其他日子和月份。

由于每个相同的周内日期的间隔都是7天,所以知道第一个后,加7就能知道第二个,加14天就能知道第三个。

同样,如果制动啊某个月的最后一个指定的周期内日期,则减7就能得到第三个,再减7就能得到第二个。

使用函数adddate,找到当月的第一天。

得到当前月的第一天之后,可以使用简单的算法和表示星期几的数学值(星期日-星期六分别对应1-7),

以获得当前月的第一个和最后一个星期一:

select first_monday,

case month(adddate(first_monday,28))

when mth then adddate(first_monday,28)

else adddate(first_monday,21)

end last_monday

from (

select case sign(dayofweek(dy) -2)

when 0 then dy

when -1 then adddate(dy,abs(dayofweek(dy) -2))

when 1 then adddate(dy,(7-(dayofweek(dy) -2)))

end first_monday,

mth

from (

select adddate(adddate(current_date,-day(current_date)),1) dy,

month(current_



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3