当前位置: 代码迷 >> Sql Server >> sql中部分字符如何转成数值加1
  详细解决方案

sql中部分字符如何转成数值加1

热度:41   发布时间:2016-04-24 19:51:34.0
sql中部分字符怎么转成数值加1?
比如有的字符型字段,存了个值内容:  '11-15'  ,怎么让前面的数值加1,让他显示成 '12-15'呢?

------解决方案--------------------

declare @s varchar(10)
set @s='111-15'
select ltrim(left(@s,charindex('-',@s)-1)+1)+right(@s,len(@s)-(charindex('-',@s)-1))
/*
112-15
*/

------解决方案--------------------
引用:
不好意思,没看清,我是说这种写法是不是太长了?是不是还有更精简的写法


如果是数字长度固定是2位的,可以使用上面简单的写法,

如果长度不固定,那就简单不了了:

select cast(left('11-15',charindex('-','11-15')-1)+1 as varchar) +
       right('11-15',len('11-15')-charindex('-','11-15')+1)

------解决方案--------------------

--不能再短了
declare @str varchar(10)
 
set @str='11-15'
 
select rtrim(Parsename(replace(@str,'-','.'),2)+1)+'-'+Parsename(replace(@str,'-','.'),1)
  相关解决方案