TSQL - Decimal, Numeric, Float & Real

在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表示小数点右边的十进制数字的最大位数

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。