帆软使用sqlserver数据库的sql问题-where下数字相加

image.png

如图,RGWEK和Z1WEK是数据库字段,值为年+第几周的日期比如202244,且每行 一一对应,p_numberEditor0是一个入参,是一个固定数字。我要筛选RGWEK<=Z1WEK+p_numberEditor0的数据,应该怎么写呢,还要考虑一点就是比如2022年有52周,那Z1WEK是202252,加了1的话应该变成202301才对

FineReport 狂奔的小蜗牛 发布于 2022-12-7 16:51 (编辑于 2022-12-8 15:14)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-6-19 20:24

where 1=1

${if(len(p_numberEditor0)=0,"",if(p_numberEditor0>52,"and RGWEK<='"+CONCATENATE(Z1WEK+1,"01")+"'","RGWEK<='"+CONCATENATE(Z1WEK,p_numberEditor0)+"'"))}

image.png

image.png

最佳回答
0
lxy2Lv6中级互助
发布于2022-12-7 16:52

RGMON<=Z1WEK+"p_numberEditor0"image.png改成这样

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) ${if(len(p_numberEditor0)==0,\"\",\"and RGWEK <= Z1WEK \'\"+p_numberEditor0+\"\'\")}这样吗?但是报错啊
    2022-12-07 17:04 
  • lxy2 lxy2 回复 狂奔的小蜗牛(提问者) ${if(len(p_numberEditor0)==0,\"\",\"and RGWEK <= Z1WEK +\"+p_numberEditor0+\"\")}这样试试呢,斜杆去掉
    2022-12-07 17:10 
  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 回复 lxy2 但是我这个是年周Z1WEK +数字周p_numberEditor0的格式,直接加应该是没考虑到一个问题,假如一年52周,我加数据过了52周应该年数加一,周变1
    2022-12-08 08:51 
最佳回答
0
开心做事Lv2见习互助
发布于2022-12-7 17:12

不是数字类型么,把 (Z1WEK+p_numberEditor0) 两边的单引号去掉试试。

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 但是我这个是年周Z1WEK +数字周p_numberEditor0的格式,直接加应该是没考虑到一个问题,假如一年52周,我加数据过了52周应该年数加一,周变1
    2022-12-08 08:51 
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-12-8 09:02(编辑于 2022-12-8 11:29)

${if(len(p_numberEditor0)==0,"","and RGWEK <= CONVERT(int,Z1WEK) + '"+p_numberEditor0+"'")}

试一下

${if(len(p_numberEditor0)==0,"",if("SUBSTRING(Z1WEK, 5, 2)"=52,"and RGWEK <= CONVERT(int,SUBSTRING(Z1WEK,1,4)) + 1 + '"+p_numberEditor0+"'","and RGWEK <= CONVERT(int,Z1WEK) + '"+p_numberEditor0+"'"))}

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 我这是周,应该用month吗。。。
    2022-12-08 09:09 
  • 用户k6280494 用户k6280494 回复 狂奔的小蜗牛(提问者) 这个是月的,周的我看看
    2022-12-08 09:13 
  • 用户k6280494 用户k6280494 回复 狂奔的小蜗牛(提问者) 看修改后的
    2022-12-08 09:17 
  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 回复 用户k6280494 哥,我不知到你写的全不全,我这个RGWEK和Z1WEK都是年第几周的格式,比如202241,在数据库都是存的varchar。知道这点后还要考虑一点就是比如2022年有52周,那Z1WEK是202252,加了1的话应该变成202301才对吧。我感觉咱们现在写是不是不全呢
    2022-12-08 11:05 
  • 用户k6280494 用户k6280494 回复 狂奔的小蜗牛(提问者) 那就在判断一下
    2022-12-08 11:17 
  • 5关注人数
  • 613浏览人数
  • 最后回答于:2023-6-19 20:24
    请选择关闭问题的原因
    确定 取消
    返回顶部