数据如图所示,要求是如果有 - 就从 ( 截取到 - ,
如果没有- 就从( 截取到 )
代码:
select
SUBSTRING(NAME,CHARINDEX('(' ,NAME)+1 ,
CASE WHEN CHARINDEX('-' ,NAME) < CHARINDEX(')' ,NAME) AND CHARINDEX('-' ,NAME) != 0
THEN
CHARINDEX('-' ,NAME) - CHARINDEX('(' ,NAME)-1
ELSE
CHARINDEX(')' ,NAME) - CHARINDEX('(' ,NAME)-1
END
) FROM TEST01
where NAME like '%(%)%' OR NAME like '%(%-%)%'