关于帆软sql取每周一的值

如图所示,是数据库数据结构,有创建日期和创建周,创建周是年+第几周的格式

image.png

现在创建周是入参,而且是一个范围值,比如202242到202245

需求是算出创建周至创建周这个范围内所有周每周一的数据,如何求出呢

FineReport SQL 狂奔的小蜗牛 发布于 2022-12-7 09:22
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
狂奔的小蜗牛Lv3见习互助
发布于2022-12-8 14:48

 WHERE DATEPART(DW,Z1STMP)=2) 

最佳回答
0
free_zzLv6中级互助
发布于2022-12-7 09:27

# 获取本周一

SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w')-1 day)

最佳回答
0
yzm339714Lv6中级互助
发布于2022-12-7 09:27

最简单,最一劳永逸的方法就是,数据库再加一个日历表,存每天的日期和每天对应是周几,是第几周,数据有了之后,就直接把上面那个周的范围作为条件,取星期等于 1 的日期,结果就是每周周一对应的日期了

最佳回答
0
巴拉巴拉1234Lv6初级互助
发布于2022-12-7 09:27

mysql的话

 WEEKDAY(Z1STMP)=2 条件就是取周一的只,你再按你的创建周汇总就行了

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 理论上看起来是对的,但是我试了一下查出的数据多了
    2022-12-07 09:47 
  • 巴拉巴拉1234 巴拉巴拉1234 回复 狂奔的小蜗牛(提问者) 多了是什么意思,可以详细说明吗
    2022-12-07 11:44 
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-12-7 10:03

DATENAME(weekday, Z1STMP)='星期一'

  • 4关注人数
  • 1686浏览人数
  • 最后回答于:2022-12-8 14:48
    请选择关闭问题的原因
    确定 取消
    返回顶部