如何获取最后一个字符并在sql中增加它

时间:2016-08-08 14:58:39

标签: sql

我有以下查询

  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

2 个答案:

答案 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_