语句含义没弄明白,求解答

concatenate(year(today() - 31), if(month(today() - 31) <= 9, "-0", "-"), (month(today() - 31)))


FineReport lww19959 发布于 2019-6-5 16:24 (编辑于 2019-6-5 16:29)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
张洪威Lv6高级互助
发布于2019-6-5 16:30

concatenate 是拼接函数,这语句是等于把year(today() - 31),if(month(today() - 31) <= 9, "-0", "-"),(month(today() - 31)) 三个拼接成在一起。 结果应该是2019-05


year(today() - 31)  这个是获取上个月今天的年份

if(month(today() - 31) <= 9, "-0", "-")   IF 判断语句,上个月今天的月份是否小于等于9,小于就-0,大于9就-

(month(today() - 31)   上个月今天的月份  

  • lww19959 lww19959(提问者) 谢谢,我还有个语句请您帮忙看一下 declare @date varchar(7),@NAME NVARCHAR(100) set @date=\'${p_month}\' select ISNULL(AdjustTargetValue,0) AdjustTargetValue from CIP_FlatDept where ScoredMonth=CONVERT(varchar(7),DATEADD(month,-1,CAST( @date+\'-01\' as datetime)),120) AND DeptName=N\'口腔科\' p_month这个里面的参数就是上面的语句
    2019-06-05 16:33 
  • 张洪威 张洪威 回复 lww19959(提问者) 应该就是求ScoredMonth=上个月 然后DeptName=口腔科 的AdjustTargetValue
    2019-06-05 16:37 
  • lww19959 lww19959(提问者) 回复 张洪威 好的,谢谢了
    2019-06-05 16:51 
最佳回答
0
axingLv6专家互助
发布于2019-6-5 16:32

这是求出31天前的年月数,比较啰里啰嗦。

可以简化为

left(today()-31,7)


  • 3关注人数
  • 356浏览人数
  • 最后回答于:2019-6-5 16:32
    请选择关闭问题的原因
    确定 取消
    返回顶部