一个table里的一列Vendor:
Vendor
021011
000339888
0000088767
用什么函数可以把前面的0都截掉呢,从左到右只从不为0的开始取,就是最后结果是
21011
339888
88767
谢大家了,我总问这种问题,因为不常用,所以总忘。

解决方案 »

  1.   

    select cast(cast(vendor as binint) as varchar(20)) from table
      

  2.   

    cast(cast(Vendor as int) as varchar(100))
      

  3.   

    select   cast(cast(vendor   as   bining)   as   varchar(20))   from   table打错了 sorry
      

  4.   

    bigint.....  手不太好使
      

  5.   

    select cast(cast(verdor as int) as varchar)
      

  6.   

    一个table里的一列Vendor: 
    Vendor 
    021011 
    000339888 
    0000088767 
    用什么函数可以把前面的0都截掉呢,从左到右只从不为0的开始取,就是最后结果是 
    21011 
    339888 
    88767 
    谢大家了,我总问这种问题,因为不常用,所以总忘。select cast(verndor as bigint) from tb
      

  7.   

    select cast(cast(verdor as int) as varchar)   --这里最好改为varchar(100),即指定转换的长度,否则系统默认只取前30个字符
      

  8.   

    cast或convert成数字型。(verndor里不能有字母,否则转换失败)
      

  9.   


    --查询
    select stuff(verdor,1,1,'') from table where left(verdor,1)='0'
    --修改
    update table set verdor=stuff(verdor,1,1,'') where left(verdor,1)='0'