输入日期2025-01-24以前的都是正常的但是到2025-01-25以后都提示类型转换超出范围

image.png

image.png

FineReport 帆软用户Hm97F60nva 发布于 7 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于7 天前(编辑于 7 天前

这个字段应该有问题

image.png

------

case 语句改成 (case when month('${rq}'=1 and day('${rq}')<=24 ) then convert(datetime,'${DATEINYEAR(rq,1)}') esle convert(datetime,'${DATEINMONTH(MONTHDELTA(rq,-1),25)}')  end)

  • 帆软用户Hm97F60nva 帆软用户Hm97F60nva(提问者) 没看出来有啥问题。。。
    2025-01-06 14:34 
  • Z4u3z1 Z4u3z1 回复 帆软用户Hm97F60nva(提问者) 看上面修改的,是else里面出错了。但传入2025-01-25时case 返回的是2025-00-25
    2025-01-06 14:37 
最佳回答
0
用户k6280494Lv6资深互助
发布于7 天前

从新写个数据集看下image.png

这段sql的返回值

最佳回答
0
华莉星宸Lv7资深互助
发布于7 天前

你这个表是时间维度表吧

实际数据表为撒还写这么多判断,没搞懂

image.png

  • 帆软用户Hm97F60nva 帆软用户Hm97F60nva(提问者) 这个表是 实际数据 下面的表才是时间维度表
    2025-01-06 14:38 
  • 华莉星宸 华莉星宸 回复 帆软用户Hm97F60nva(提问者) 哥 你的时间维度表 直接在库里面建个表不就好了,还写这么多的SQL干撒
    2025-01-06 14:40 
  • 帆软用户Hm97F60nva 帆软用户Hm97F60nva(提问者) 回复 华莉星宸 建了呀。。。。 我理解 不还是得这样判断吗。。。。
    2025-01-06 14:43 
  • 华莉星宸 华莉星宸 回复 帆软用户Hm97F60nva(提问者) 你上一个帖子里面,你看看举例的的维度表,已经把统计的月份做好了啊。不需要判断了
    2025-01-06 14:44 
  • 3关注人数
  • 67浏览人数
  • 最后回答于:7 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部