读书人

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

发布时间: 2013-11-16 23:15:33 作者: rapoo

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)

读书人网 >SQL Server

热点推荐