数据类型
bigint、int、smallint、tinyint
使用整数数据的精确数字数据类型。 若要节省数据库空间,请使用能够可靠包含所有可能值的最小数 据类型。 例如,对于一个人的年龄,tinyint 就足够了,因为没人活到 255 岁以上。 但对于建筑物的 年龄,tinyint 就不再适应,因为建筑物的年龄可能超过 255 年。
数据类型 | 范围 | 存储 |
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
SQL Server 数据库引擎优化位列的存储。 如果表中的 bit 列为 8 列或更少,则这些列作为 1 个字节 存储。 如果 bit 列为 9 到 16 列,则这些列作为 2 个字节存储,以此类推。字符串值 TRUE 和 FALSE 可转换为 bit 值:TRUE 将转换为 1,FALSE 将转换为 0。
性别,bool值。
numeric 和 decimal
decimal[ (p[ ,s] )] 和 numeric[ (p[ ,s] )] 固定精度和小数位数。 使用最大精度时,有效值的范围为 - 10^38 +1 到 10^38 - 1。 decimal 的 ISO 同义词为 dec 和 dec(p,s) 。 numeric 在功能上完全等同于 decimal 。高精度,小数点后面最多 可以有38位。
金额---精度很高,小数点后面可能有很多位;后面的小数点精度可以达到38位。
smallmoney 和 money
小数点存储都为4位,如果出现第5位,根据第5位做四舍五入。
数据类型 | 范围 | 存储 |
money | -922,337,203,685,477.5808 到 922,337,203,685,477.5807 | 8 个字节 |
smallmoney | -214,748.3648 到 214,748.3647 | 4 个字节 |
float 和 real
这两个类型保存的是一个近似值。保存的数据,可能和真是要保存的数据有细微的偏差。
注意:数据筛选的时候,只适合> >= < <= 不适合去等于。
float [ (n ) ] 其中 n 为用于存储 float 数值尾数的位数(以科学记数法表示),因此可以确定精度和存 储大小 。 如果指定了 n,则它必须是介于 1 和 53 之间的某个值 。 n 的默认值为 53 。
n 值 | Precision | 存储大小 |
1-24 | 7 位数 | 4 个字节 |
25-53 | 15 位数 | 8 字节 |
date 类型
说明 date类型可用于需要一个日期值而不需要时间部分时。
roperties | 值 |
语法 | date |
使用情况 | DECLARE @MyDate date CREATE TABLE Table1 ( Column1 date) |
默认的字 符串文字 格式 (用 于下级客 户端) | YYYY-MM-DD 有关详细信息,请参阅后面的“下级客户端的向后兼容性”部分。 |
范围 | 00 |