我有以下查询
select case
when Right('BPUREN_3',1) Like '[A-Z]'
then concat('BPUREN','_1')
else
concat('BPUREN_3',right('BPUREN_3',1)+1)
End
我希望输出为BPUREN_4但我得到的结果为BPUREN_34
答案 0 :(得分:1)
select case
when Right('BPUREN_3',1) Like '[A-Z]' then 'BPUREN_1'
else concat(Left('BPUREN_3', 7),right('BPUREN_3',1)+1)
End
无需concat('BPUREN','_1')
它始终是'BPUREN_1'
如果“BPUREN_3”的长度发生变化(例如,如果它是真实代码中的参数),您可以将Left('BPUREN_3', 7)
更改为Left('BPUREN_3', LEN('BPUREN_3') - 1)
答案 1 :(得分:0)
concat('BPUREN_3', right('BPUREN_3', 1)+1)
- concat
将两个字符串组合在一起并返回一个字符串。因此,您要将BPUREN_3
与4合并(输出BPUREN_34
)。而是将BUREN_3
更改为BPUREN_