读书人

SQL 截取字符串有关问题

发布时间: 2013-06-19 10:26:41 作者: rapoo

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))),'/','-')

读书人网 >SQL Server

热点推荐