首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 截取字符串有关问题

2013-06-19 
SQL 截取字符串问题这样一个字符串:12345/43212/43453我需要截取从第一个字符开始到最后一个符号/这里为止

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

热点排行
Bad Request.