- 精确数字
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 字节 |
smallint | -2^15 (-32,768) 到 2^15-1 (32,767) | 2 字节 |
tinyint | 0 到 255 | 1 字节 |
bit:可以存储为1、0 或 null 的整数数据类型.
Microsoft SQL Server 2005 Database Engine 优化了 bit 列的存储。如果表中的列为 8 bit 或更少,则这些列作为 1 个字节存储.如果列为 9 到 16 bit,则这些列作为 2 个字节存储,以此类推.
字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0.
decimal and numeric:带固定精度和小数位数的数值数据类型.
decimal(p[,s])和numeric(p[,s])固定精度和小数位数,有效值从-10^38+1到10^38-1.numeric在功能上等价于decimal.
p(精度):最多可以存储十进制数字的总位数,包括小数点左边和右边的位数.该精度必须是1到最大精度38之间的值.默认精度为18.
s(小数位数):小数点右边可以存储十进制数字的最大位数.小数位数必须是0到p之间的值.仅在制定精度之后才可以制定小数位数.默认的小数位数是0.因此0<=s<=p.最大存储大小基于精度变化.
money and smallmoney:代表货币或货币值的数据类型.
money | -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) | 8 字节 |
smallmoney | -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) | 4 字节 |
- 近似数字
float and real:用于表示浮点数值数据的大致数值数据类型,浮点数据为近似值;因此,并非数据类型范围内的所有值都能精确地表示.
float | -1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308 | 取决于 n 的值 |
real | -3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38 | 4 字节 |
float [ ( n ) ]
其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小.如果指定了 n,则它必须是介于 1 和 53 之间的某个值.n 的默认值为 53.
1-24 | 7 位数 | 4 字节 |
25-53 | 15 位数 | 8 字节 |
SQL Server 2005 将 n 视为下列两个可能值之一.如果 1<=n<=24,则将 n 视为 24.如果 25<=n<=53,则将 n 视为 53.
double precision 的同义词为 float(53).
- 日期和时间
- 字符串
- Unicode字符串
- 二进制字符串
- 其他数据类型