比如:我有字符串000123和001234总共6位,我想把这个字段中左边的0给去掉,这个sql语句该如何写呢?

解决方案 »

  1.   

    DECLARE @a varchar(64)='000123'
    SELECT CONVERT(int,@a)
    /*-----------
    123(1 行受影响)*/
      

  2.   


    declare @a varchar(10)
    set @a='001356'
    select cast(@a as int)
    /*
    ----------- 
    1356(所影响的行数为 1 行)
    */
      

  3.   

    cast或者Convert 转换成整型。
      

  4.   


    select Convert(int,字段名)as 新字段名
      

  5.   

    转换成int整型。select cast(col as int)
    select convert(int,col)
      

  6.   

    只能用index 、 substring 么
      

  7.   

    突发奇想,这样也挺好 ,前提是字符串内部不能有空格...
    select replace(ltrim(replace('999905649619','9',' ')),' ','9')
    select replace(ltrim(replace('000003205687080','0',' ')),' ','0')
      

  8.   

    SELECT TRIM(LEADING '0' FROM '000255asf0ee0');