这个转换涵数怎么写? 将 '101006037001' 写成 cast ('101006037001' as int )出错?

解决方案 »

  1.   

    整数数据,从 –2^31 (-2,147,483,648) 到 2^31–1 (2,147,483,647)。
    用bigint ,从 –2^63 (–9,223,372,036,854,775,808) 到 2^63–1 (9,223,372,036,854,775,807)。 
      

  2.   

    select cast ('101006037001' as bigint)
      

  3.   


    转换为int ,已经超过int的最大范围了
      

  4.   

    数据溢出,也就是超出int的数值范围.
    可改用bigint或numeric(18,0)
      

  5.   

    cast ('101006037001' as number(9,0) )
      

  6.   

    --经测试没有问题.
    select cast('101006037001' as bigint) result/*
     result
    -----------
    101006037001
    */