id  bh
1   0123456
2   0456789
3   0789456
我需要的是:
id  bh
1   123456
2   456789
3   789456

解决方案 »

  1.   

    SELECT ID,CONVERT(INT,BH) BH FROM TB
      

  2.   

    update tb set bh=stuff(bh,1,patindex('%[^0]%',bh)-1,'')
      

  3.   

    --> 生成测试数据表: [tb]
    IF OBJECT_ID('[tb]') IS NOT NULL
    DROP TABLE [tb]
    GO
    CREATE TABLE [tb] ([id] [int],[bh] [nvarchar](10))
    INSERT INTO [tb]
    SELECT '1','0123456' UNION ALL
    SELECT '2','0456789' UNION ALL
    SELECT '3','0789456'-->SQL查询如下:
    --更新:
    UPDATE tb
    SET    bh = STUFF(bh, 1, PATINDEX('%[^0]%', bh)-1, '')SELECT * FROM [tb]
    /*
    id          bh
    ----------- ----------
    1           123456
    2           456789
    3           789456(3 行受影响)
    */--直接查询:
    SELECT id,bh=STUFF(bh, 1, PATINDEX('%[^0]%', bh)-1, '')
    FROM tb
    /*
    id          bh
    ----------- ----------
    1           123456
    2           456789
    3           789456(3 行受影响)
    */
      

  4.   

    谢谢了,我已经解决吧
    update 表名 set bh=right(bh,6)
      

  5.   


    update tb set bh=stuff(bh,1,1,'')
      

  6.   

    update 表名 set BH=cast(BH as bigint)--看數據可以這樣改
      

  7.   

    如果都是数字,去掉0可以这样
    update tb set bh=convert(numeric, bh)
      

  8.   

    update tb set bh=repalce(bh,0,'')(