The*_*war 0 sql t-sql sql-server sql-server-2012
鉴于以下字符串
Declare @string varchar(max)='abc ___________ deffns ___ cg _ hif _______hh ihs';
Run Code Online (Sandbox Code Playgroud)
这是所需的输出 :(不管长度如何,每次炒作都应该用姓氏替换)
abc lastname deffns lastname cg lastname hif lastname hh ihs
Run Code Online (Sandbox Code Playgroud)
这里的问题是,可以有很多Hypens可变长度(最大长度可以<20)......
我尝试了很多方法并采用以下方法解决..
select
REPLACE(REPLACE(replace(stringcol,replicate('_',20),'LASTNAME'),
replicate('_',19),'LASTNAME'),
replicate('_',18),'LASTNAME')
from table
Run Code Online (Sandbox Code Playgroud)
有没有办法有效地完成这一点.任何建议都会受到欢迎
Gor*_*off 11
首先摆脱多个下划线,然后进行替换.
这是一种方法:
select replace(replace(replace(@string, '_', '><'
), '<>', ''
), '><', 'LASTNAME'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |