本帖最后由 cntegzs 于 2011-10-01 17:49:48 编辑

解决方案 »

  1.   


    --MS SQL SERVER 的替换函数是REPLACE函数,不过不用替换函数如下实现:
    --1、
    UPDATE user SET username=LEFT(username,2)+'****'
    --2、
    UPDATE user SET username=SUBSTRING(username,1,2)+'****'
      

  2.   


    --mysql?
    是否有类似substring函数 有的话也可以容易实现
    --不行的话
    GO MYSQL 版问问
      

  3.   


    update user
    set username=concat(left(username,3),'****',right(username,length(username)-7))
      

  4.   


    declare @str varchar(10)
    set @str='12fdser'
    select @str=STUFF(@str, 3, 4,'****')
    print @str
    --输入"12fdser" 表:user需要从字段语句第3个字符开始替换为****,到第6个字符结束。
     
    --输出结果---
    12****r
    ----更新表可以用下面这条语句----
    update user set username=STUFF(username, 3, 4,'****')
      

  5.   

    --sql server
    update user set username = stuff(username,3,4,'****')
    update user set username = left(username,2) + '******' + (case when len(username) > 6 then substring(username,7,len(username)) else '' end)--oracle
    update user set username = substr(username,1,2) || '******' || (case when len(username) > 6 then substr(username,7,len(username)) else '' end)--mysql不知道.建议去mysql版问.
      

  6.   

    update xxx set col=concat(mid(col,1,2) ,'****',mid(col,7,1000))