给定以下字符串
Declare @string varchar(max)='abc ___________ deffns ___ cg _ hif _______hh ihs';
这是所需的输出:( 每个长号,无论长度如何,都应替换为姓氏)
abc lastname deffns lastname cg lastname hif lastname hh ihs
这里的问题是,可能有很多Hypens可变长度(最大长度可以<20)…
Hypens
我尝试了 多种 方法,并采用了以下方法。
select REPLACE(REPLACE(replace(stringcol,replicate('_',20),'LASTNAME'), replicate('_',19),'LASTNAME'), replicate('_',18),'LASTNAME') from table
有没有办法有效地做到这一点..任何建议将是最欢迎的
首先删除多个下划线,然后进行替换。
这是一种方法:
select replace(replace(replace(@string, '_', '><' ), '<>', '' ), '><', 'LASTNAME' )