例如:test列的值字符串为:青铜峡/P.MH42.5/袋装
青铜峡/P.MH42.5/吨袋包
青铜峡/P.MH42.5/散装
现在想取第2个“/”后的值,就是袋装或吨袋包不知道如何写SQL
谢谢了
期望是substring和CHARINDEX函数的
青铜峡/P.MH42.5/吨袋包
青铜峡/P.MH42.5/散装
现在想取第2个“/”后的值,就是袋装或吨袋包不知道如何写SQL
谢谢了
期望是substring和CHARINDEX函数的
go
create table [tb]([test] varchar(22))
insert [tb]
select '青铜峡/P.MH42.5/袋装' union all
select '青铜峡/P.MH42.5/吨袋包' union all
select '青铜峡/P.MH42.5/散装'
go
select right(test,charindex('/',reverse(test))-1) as result from tb/**
result
----------------------
袋装
吨袋包
散装(3 行受影响)
**/
select REVERSE(substring(reverse(@var),0,CHARINDEX('/',reverse(@var),0)))as new
/*
new
散装
*/
set @s = '青铜峡/P.MH42.5/袋装';--方法一 使用substring与CHARINDEX
SELECT substring(substring(@s, CHARINDEX('/', @s) + 1, len(@s)), CHARINDEX('/', substring(@s, CHARINDEX('/', @s) + 1, len(@s)))+ 1, len(@s));--方法二 使用REVERSE
select REVERSE(substring(REVERSE(@s), 1, CHARINDEX('/', REVERSE(@s))-1));/*
------------------------------
袋装
*/