写点什么

SQL Sever 提供的数字类型

作者:乔乔
  • 2022-11-04
    辽宁
  • 本文字数:830 字

    阅读完需:约 3 分钟

SQL Sever 提供的数字类型

数字类型

  • 精确数字类型

  • 近似数据类型

精确数字类型

精确的数字类型是指在计算机中能够精确的存储的数据,例如整型,定点小数等都是精确的数据类型。

整型类型

  • bigint:范围在存储从-2 的 63 次方到 2 的 63 次方-1 的范围整数,存储 8 个字节。

  • int:范围在存储从-2 的 31 次方到 2 的 31 次方-1 范围的整数,存储 4 个字节。

  • smallint:范围在存储从-2 的 15 次方到 2 的 15 次方-1 的范围整数,存储 2 字节。

  • tinyint:范围在存储 0 到 255 之间的整数

  • bit:范围在存储 1,0 或 NULL。SQL Sever 数据库引擎可优化 bit 列的存储。如果表中有不多于 8 个列是 bit 类型,则这些列共用 1 字节存储。如果 bit 类型的列为 9~16 个,则这些列作为 2 字节存储,以此类推字符串值 TRUE 和 FALSE 可转换为 bit 值:TRUE 将转换为 1,FALSE 将转化为 0.存储 1 个字节。

SQL Sever 支持的带固定精度和小数位数的数值数据类型有两个,分别为 decimal 和 numeric,这两个类型的语法格式分别为:decimal[(p[,s])]和 numeric[(p[,s])]。

使用最大精度时,有效值的范围为-10 的 38 次方+1 到+10 的 38 次方-1.decimal 的 ISO 同义词为 dec 和 dec(p,s)。numeric 在功能上等价于 decimal。

  • p(精度):最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18.

  • s(小数位数):小数点右边可以存储的十进制数字的位数。从 p 中减去此数字可确定小数点左边的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0。最大存储大小基于精度而变化。

近似数字类型

用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值,因此,并非数据类型范围内的所有值都能精确地表示。近似数字类型是用于表示浮点型数据的近似数据类型。

数据类型

  • Float【(n)】:-1.79E+308~-2.23E-308,以及 2.23E-308~1.79E+308。存储取决于 n 的值。

  • real:-3.40E+38~-1.18E-38,以及 1.18E-38~3.40E+38.存储 4 个字节。

float【(n)】中的 n 为用于存储 float 数值尾数的位数,因此可以确定精度和存储大小。n 的值介于 1~53,默认值为 53.


发布于: 刚刚阅读数: 3
用户头像

乔乔

关注

平安喜乐,一切顺遂 2022-07-01 加入

一个热爱技术,热爱生活的人

评论

发布
暂无评论
SQL Sever 提供的数字类型_数据库_乔乔_InfoQ写作社区