有个SQL语句看不懂不知道怎么修改

format(sql("存图", "SELECT max(right(任务ID,4)*1) maxid FROM [dbo].[文档上传流程] where SUBSTRING(任务ID,4,8)=CONVERT(varchar(255), GETDATE(), 112)", 1, 1) * 1 + 1, "0000")

请问 1.这个maxid是什么意思

        2.substring是截断字符串的话任务ID我是QC-202108050001 截出来应该是0210怎么等于后面CONVERT出来的20220402

        3.SQL后面的,1,1)*1+1啥意思呀

FineReport callie 发布于 2022-4-2 11:19 (编辑于 2022-4-2 11:21)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-2 11:26(编辑于 2022-4-2 11:27)

CONVERT(varchar(255), GETDATE(), 112)  这一段得到当前日期。。转换为20220402这样格式

SUBSTRING(QC-202108050001,4,8)  得到20210805的结果

, 1, 1)  这个是最前面sql的参数取第一列第一行的值。只取一个

max(right(任务ID,4)*1) maxid   任务id取最后4位后*1转换为数字。。然后取最大的一个

 * 1 + 1  就是乘*1而已假如最大是2020*1+1就得2021  了

再用format(公式,"0000")让它都返回4位数字, 假如不足4位前面被0占位。保持格式统一

  • callie callie(提问者) 那个MAXID有啥用
    2022-04-02 11:46 
  • 坚果联盟 坚果联盟 回复 callie(提问者) 就是重命名
    2022-04-02 11:49 
  • CD20160914 CD20160914 回复 坚果联盟 就是对它重新取一个名字
    2022-04-02 12:07 
最佳回答
0
wangfutaoLv5初级互助
发布于2022-4-2 11:21

max(right(任务ID,4)*1) maxid,获取任务ID截取后四位的最大值

SUBSTRING(任务ID,4,8),从第四位开始截取,截取长度为8位,即20210805

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-4-2 11:21

max---最大值

SUBSTRING(任务ID,4,8) --从第4位开始截取共计8位长度的值

最佳回答
0
坚果联盟Lv4见习互助
发布于2022-4-2 11:48

maxid,就是AS 后面的重命名,这里maxid前面省略来了AS

SUBSTRING(任务ID,4,8),意思是,截取字符串‘任务ID’,从第4个字符开始,取8个,‘’QC-202108050001 ‘’截出来应该是20210805

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