declare @name nvarchar(1000)
set @name='南京路123弄456号789室'
declare @i int
set @i=1
while @i<=9
begin 
select @name=REPLACE(@name,CAST (@i as CHAR(1)),'*')
set @i=@i+1
end 
select @name

解决方案 »

  1.   

    String str = "南京路123弄456号789室";str = str.replaceAll("\\d", "*");System.out.println(str);
      

  2.   

    反正只是提供样版数据, 建议抓几条出来,然后在c#中处理, 字串处理不是t-sql长项。
      

  3.   

    taoistong 的sql代码只是单条字符串的查询功能,如果我要批量查询的话,该如何写呢?
      

  4.   


    declare @s varchar(100)
    set @s = '南京路123弄456号789室'
    select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@s,'1','*'),'2','*'),'3','*'),'4','*'),'5','*'),'6','*'),'7','*'),'8','*'),'9','*'),'0','*')
      

  5.   

    lg3605119  这么NB的代码也能写出来我只能说I 服了 u