为什么int 4类型可以存放10个数字,而varchar(10)就是放10个字符,那bigint 8 又可以放多少?

解决方案 »

  1.   


    int 
     -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
     4 字节
     
      

  2.   

    int、bigint、smallint 和 tinyint
    使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。
      

  3.   


    bigint 
     -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
     8 字节
     
    int 
     -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
     4 字节
     
      

  4.   

    int 
    -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 
    4 字节 数数,是十位
      

  5.   

    int、bigint、smallint 和 tinyint
    使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。
      

  6.   


    select datalength(cast('2147483647' as int)) [int],datalength(cast('2147483647' as varchar(10))) [varchar]
    4 10一个字节=8 bit这样,int 最大能存储 2的(4*8 - 1)次幂而bigint为8个字节,则存储2的63次幂