Sql Server 数据类型


Character 字符型:

数据类型

描述

占用字节

char()

固定长度的字符串。最多 8,000 个字符。

一个字符占1个字节,尾端空白字符保留

varchar()

可变长度的字符串。最多 8,000 个字符。

一个字符占1个字节,尾端空白字符删除

varchar(max)

可变长度的字符串。最多 1,073,741,824 个字符。

一个字符占1个字节,尾端空白字符删除

text

可变长度的字符串。最多 2GB 字符数据。

一个字符占1个字节,尾端空白字符删除

Unicode 字符型:

数据类型

描述

占用字节

nchar()

固定长度的 Unicode 数据。最多 4,000 个字符。

一个字符占2个字节,尾端空白字符保留

nvarchar()

可变长度的 Unicode 数据。最多 4,000 个字符。

一个字符占2个字节,尾端空白字符删除

nvarchar(max)

可变长度的 Unicode 数据。最多 536,870,912 个字符。

一个字符占2个字节,尾端空白字符删除

ntext

可变长度的 Unicode 数据。最多 2GB 字符数据。

一个字符占2个字节,尾端空白字符删除

Binary二进制类型(用来定义二进制码的数据,常用十六进制表示, 如OX5F3C):

数据类型

描述

占用字节

bit

允许 0、1 或 NULL

实际使用1bit,但会占1个字节,若一个数据中有数个bit字段,则可共占1个字节

binary()

固定长度的二进制数据。最多 8,000 字节。

在存储时,sql server会另外增加4个字节,尾端空白字符会保留

varbinary()

可变长度的二进制数据。最多 8,000 字节。

在存储时,sql server会另外增加4个字节,尾端空白字符会删除

varbinary(max)

可变长度的二进制数据。最多 2GB 字节。

image

可变长度的二进制数据。最多 2GB。

Number 类型:

数据类型

描述

占用字节

tinyint

允许从 0 到 255 的所有数字。

1 字节

smallint

允许从 -32,768 到 32,767 的所有数字。

2 字节

int

允许从 -2,147,483,648 到 2,147,483,647 的所有数字。

4 字节

bigint

允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。

8 字节

decimal(p,s)

固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。

p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。

s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。

1-9位数使用5个字节

10-19数使用9个字节

20-28数使用13个字节

29-38数使用17个字节

numeric(p,s)

固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。

p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。

s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。

1-9位数使用5个字节

10-19数使用9个字节

20-28数使用13个字节

29-38数使用17个字节

smallmoney

介于 -214,748.3648 和 214,748.3647 之间的货币数据。

4 字节

money

介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。精确到万分之一

8 字节

float(n)

从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。

4 或 8 字节

real

从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。

4 字节

Date 类型:

数据类型

描述

占用字节

datetime

从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。YYYY-MM-DD hh:mm:ss[.nnn]

8 bytes

datetime2

从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。YYYY-MM-DD hh:mm:ss[.nnnnnnn]

6-8 bytes

smalldatetime

从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。YYYY-MM-DD hh:mm:ss

4 bytes

date

仅存储日期YYYY-MM-DD。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。

3 bytes

time

仅存储时间hh:mm:ss[.nnnnnnn]。精度为 100 纳秒。

3-5 bytes

datetimeoffset

与 datetime2 相同,外加时区偏移。YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm

8-10 bytes

timestamp

存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。

其他数据类型:

数据类型

描述

sql_variant

存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。

uniqueidentifier

存储全局标识符 (GUID)。

xml

存储 XML 格式化数据。最多 2GB。

cursor

存储对用于数据库操作的指针的引用。

table

存储结果集,供稍后处理。

注:

(1) timestamp(标记数据类型 时间标记) 数据类型提供数据库范围内的唯一值。此类型相当于binary(8)或varbinary(8),但当它所定义的列在更新或添加数据行时,此列的值会被自动更新,一个计数值将自动地添加到此timestamp数据列中。每个数据库表中只能有一个timestamp数据列。如果建一个名为timestamp的列,则该列的数据类型将被自动设置为timestamp类型。

(2) Uniqueidentifier数据类型存储一个16位的十六进制数。此数字称为全球唯一鉴别号(Globally Unique Identifier,GUID),此数字由sql server 的NEWID()函数产生。全球唯一的编码在全球各地的计算机用NEWIN() 函数产生的数字不会相同.

(3) Sql_variant 数据类型可以存储除文本、图形数据和timestamp类型数据外的其它任何合法的sql server 数据。次数据类型大大方便了sql server的开发工作。

(4) Table 数据类型用于存储对表或视图处理后的结果集。这一新类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值