我想要把123457890 这一串数字通过select查出来,将后面4位屏蔽掉,替换成××××
这几个号码长度不固定,有什么好的办法吗
求指教

解决方案 »

  1.   

    SELECT LEFT(col,LEN(col)-4)+'xxxx' from  tb
      

  2.   

    update tb set col=left(col,len(col)-4)+'xxxx'
      

  3.   

    select REPLACE(colname,RIGHT(colname,4),'xxxx')colname from tbl
      

  4.   

    'TIGHT'标识符无效忘记说了是oracle的库
      

  5.   

    declare @str varchar(10)
    set @str='123457890'
    if(LEN(@str)>4)
    SELECT LEFT(@str,LEN(@str)-4)+'xxxx' 
    else
    SELECT '长度有问题'
      

  6.   

    oracle就不懂了,还没有学过!转到oracle专区问吧
      

  7.   

    oracle不会 1、2、3楼都是mssql的写法
      

  8.   


    left  和replace都可以的
      

  9.   


    SELECT LEFT(col,LEN(col)-4)+'xxxx' from  tb--应该可以吧
      

  10.   


    create table tb(str varchar2(100));insert into tb values('1234567890');select substr(str,1,length(str)-4)||'xxxx' as rst from tb;