美文网首页
MySQL中获取日期所在周的周一和周日

MySQL中获取日期所在周的周一和周日

作者: 数据老菜鸟 | 来源:发表于2022-12-28 17:11 被阅读0次

    数据有时候需要进行周的同比和环比操作,而数据库中周是数字排列的,比如2022年的第20周,这个时候我们最好将第20周的范围给出,便于用户在报表展示及数据分析时候使用,

    我们使用mysql来展示下如何使用

    按照我们的习惯 周一开始  周日结束,算一个自然周,我们有一个日期码表,里面有连续的日期字段

    select the_date

    from dim_date;

    按照我们的习惯每周是从周一开始,周日结束算完整的一周,我们来获取

    获取每周的周一 和周日,mysql中方法如下

    select the_date,

    concat(

    DATE_FORMAT( date_add(the_date,INTERVAL -weekday(the_date) DAY), '%Y-%m-%d'), ' : ',

    DATE_FORMAT( date_add(the_date,INTERVAL 6-weekday(the_date) DAY),'%Y-%m-%d')) as week_section

    from dim_date;


    国际惯例周日算一周开始 周六算结束的计算

    select the_date, case when weekday(the_date)=6 then DATE_FORMAT( the_date,'%Y-%m-%d')

                          else  DATE_FORMAT( date_add(the_date,INTERVAL -weekday(the_date)-1 DAY),'%Y-%m-%d')

                          end as st,

    case when weekday(the_date)=6 then DATE_FORMAT( date_add(the_date,INTERVAL 6 DAY),'%Y-%m-%d')

                          else  DATE_FORMAT( date_add(the_date,INTERVAL 5-weekday(the_date) DAY),'%Y-%m-%d')

                          end as ed

    from dim_date

    相关文章

      网友评论

          本文标题:MySQL中获取日期所在周的周一和周日

          本文链接:https://www.haomeiwen.com/subject/wgzoqdtx.html