SQL Server 数据类型的详细介绍及应用实例3

二进制数据类型:Bit、 Binary、Varbinary 和 Image

字符数据类型: Char,Varchar 和 Text 、Nchar,Nvarchar 和Ntext

日期和时间数据类型: Datetime 和 Smalldatetime

货币数据的数据类型是Money 和 Smallmoney

数字数据类型:Int,Smallint和 Tinyint;Decimal 和 Numeric;Float 和 Real;

特殊的数据类型有3种,即 Timestamp、Bit 和 Uniqueidentifier。

1.Binary类型和2.Char类型

请参见SQL Server Binary 类型和 Char类型数据

3.Datetime类型和4.Money类型

请参见SQL Server中time和money类型应用实例

5.Number类型:

Number类型分三种:

1.整数型 :Int,Smallint和 Tinyint

2.精确类型:Decimal 和 Numeric

3.近似浮点类型:Float 和 Real

1.整数型 :Bigint, Int,Smallint和 Tinyint

存储到数据库的几乎所有数值型的数据都可以用这种数据类型。

2.精确类型:Decimal 和 Numeric

Numeric 数据类型 :能用来存储从-10^38-1到10^38-1 的固定精度和固定范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 但是存储数据时所用的字节数目会随着使用权用位数的多少变化.范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数。遵循四舍五入法则。

Decimal数据类型 :精确数字数据类型,其精度在算术运算后保留到最小有效位,遵循四舍五入法则。

存储小数所需的空间可通过如下方式计算:2 + int( (before + 1)/2 ) + int( (after + 1)/2 )

一般情况下,decimal和numeric 数据类型一样,可互换使用。

不同点:

类型 numeric 要求的固定精度大于等于声明的精度!

传递的带小数位的数值,默认类型为numeric。

decimal 加上任意小数后,类型转变为 numeric 。

numeric 要求固定精度和小数位一样精确,小数位固定长度;

而 decimal 不一定,可能会大于或等于固定精度P的长度,即小数位的长度在存储的时候比实际的长。

3.近似浮点类型:Float 和 Real

float 和 real 数据类型被称为近似的数据类型。在近似数字数据类型方面,float 和 real 数据的使用遵循 IEEE 754 标准。

在 WHERE 子句搜索条件中(特别是 = 和 运算符),应避免使用 float 或 real 列。最好限制使用 float 和 real 列做 > 或

float(n) 是浮点数,real=float(24).

6.特殊数据类型:Timestamp、Uniqueidentifier。

Timestamp(时间戳类型):

用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系

公开数据库中自动生成的唯一二进制数字的数据类型,通常用作给表行加版本戳的机制。存储大小为 8 个字节,只是递增的数字,与时间和日期无关。

一个表只能有一个 timestamp 列。每次插入或更新包含 timestamp 列的行时,timestamp 列中的值均会更新。对行的任何更新都会更改 timestamp 值

timestamp记录的是数据变更的时间,下次的值比上次大,在程序中读取大于上次MAX(timestamp)的数据,就是最新变更的数据,最初是为了支持 SQL Server 恢复算法。

Bit(0,1类型),也属于整数类型和二进制类型

Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型。详见

SQL Server 数据类型的详细介绍及应用实例1

Uniqueidentifier类型

Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的,即GUID。

用于识别数据库里面许多个表的唯一一个记录.

当表的记录行要求唯一时,GUID是非常有用。

文中部分内容来源于网络,如有侵权,请联系修改。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181002A181QV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券