且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将字符串的所有字符替换为星号,除了 MSSQL 中的第一个字符和空格

更新时间:2023-02-23 12:54:01

我最初发布了一个递归解决方案.这更快:

I had posted a recursive solution at first. This is faster:

declare @name varchar(20) = 'Jon Kirk'

declare @loop int = len(@name)

while @loop > 1
select @name = stuff(@name, @loop, 1, 
case when substring(@name, @loop-1,2) like '% ' then ' '
     when substring(@name, @loop-1,2) like ' %' then substring(@name, @loop,1)
else '*' end), @loop+=-1

select @name