在SQL Server中数值类型有多种不同的分法,其中一种就是:精确类型和近似类型。其中近似类型其实只有两种数据类型:Float和Real。
在我们的数据库设计中如果设计到需要存储非整形数值的时候,很多时候我们都会疑惑到底需要用下面数据类型的哪个:
- Float
- Real
- Decimal
- Numeric
说开来其实很简单,上面4个类型其实只有两种类型:
1) Float & Real
他们都是表示浮点数的数值类型,而且是一种近似数值表示,Real是Float的一种特殊形式。
Float的语法如下:
float(n) : n为用于存储float数值尾数的位数(以科学计数法表示),确定了n就确定了精度和存储大小。N位于1到53之间,默认为53
N的值 |
精度 |
存储大小 |
1 – 24 |
7位数 |
4字节 |
25 - 53 |
15位数 |
8字节 |
Real等同于float(24)
2) Decimal & Numeric
Numeric在功能上等价与Decimal,所以我们只谈论Decimal。Decimal表示带固定精度和小数位数的精确数值,它的语法如下:
Decimal(p [,s])
P表示精度,即最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数,它可以使1到38之间的任意值,默认为18
S表示小数点右边的十进制数字的最大位数
时间: 2024-10-12 14:04:39