日期:2014-05-18  浏览次数:20526 次

sql中截取字符串前10位并且最后一位数字加1
sql中截取字符串前10位并且最后一位数字加1:
如有字段caseno ,其值为"1076D67D70_0_10516-13";
取得前10位为"1076D67D70"我需要的结果 是"1076D67D71";
如何实现?????

------解决方案--------------------
能确定前十位最后一位一定是数字???
------解决方案--------------------
7D79 加 1 会是多少。。。
------解决方案--------------------
SQL code

declare @str varchar(50)
Set @str='1076D67D70_0_10516-13'
Select Substring(@str,1,9)
Select cast(Substring(@str,10,1) as int)+1

------解决方案--------------------
SQL code

declare @str varchar(30)
set @str = '1076D67D70_0_10516-13'

select stuff(@str,10,1,char(ascii(substring(@str,10,1))+1))

/***************

------------------------------
1076D67D71_0_10516-13

(1 行受影响)

------解决方案--------------------
SQL code
SELECT SUBSTRING('1076D67D71_0_10516-13',1,9)+LTRIM((CAST(SUBSTRING('1076D67D71_0_10516-13',10,1) AS INT)+1))