SQL 截取字符串问题
这样一个字符串:12345/43212/43453
我需要截取从第一个字符开始到最后一个符号/这里为止。
之后再把截取出来的字符串中对应的/符号转换成-符号
希望得到的结果:12345-43212 SQL
[解决办法]
declare @x varchar(50)
select @x='12345/43212/43453'
select replace(substring(@x,1,len(@x)-charindex('/',reverse(@x))),'/','-') 'x'
/*
x
------------------------
12345-43212
(1 row(s) affected)
*/
DECLARE @a VARCHAR(128)
SET @a='12345/43212/43453/43212//43212//43212//43212/43453'
SELECT REPLACE(SUBSTRING(@a,1,LEN(@a)-PATINDEX('%/%',REVERSE(@a))),'/','-')
/*
----------------------------------------------------------------------------------------------------------------
12345-43212-43453-43212--43212--43212--43212
*/
declare @d nvarchar(20)
set @d = '12345/43212/43453'
--select charindex('/',reverse(@d))
select replace(left(@d,len(@d) - charindex('/',reverse(@d))),'/','-')