SQL Server 2008的数据类型

本文详细介绍了SQLServer2008内置的各种数据类型及其特点, 包括整型、数值型、货币型、日期/时间型、特殊类型等, 并对每种类型的数据长度和取值范围进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 

SQLServer 2008自带的数据类型及说明

数据类型名称

  类别

 长度(单位:字节)

                    数据特点

Bit

  整型

  1

  表中的第一个bit数据类型占一个字节;其余7个位也用作bit数据类型。允许空格使其占用一个额外字节

Bigint

  整型

  8

  可处理日常用到的越来越大的数,取值范围为-263~263-1

Int

整型

 4

  取值范围为-2147483648~2147483647

SmallInt

  整型

  2

  取值范围为-32768~32767

TinyInt

  整型

  1

  取值范围为0~255

Decimal / Numeric

  数字型

  可变

  固定精度,取值范围为-1038-1~1038-1,两者含义相同

Money

  货币

  8

  货币单位,取值范围为-263~263,精确到4个小数位。注意货币单位可以说任意货币,不限于美元

SmallMoney

  货币

  4

  货币单位,取值为-214748.3648~+214748.3647

Float(Real)

  近似小数

  可变

  由一参数决定其长度和精度。注:参数表示位数,不是字节数。取值范围为-1.79E+308~1.79E+308

DateTime

  日期/时间

  8

  日期与时间,取值范围为1753年1月1日~9999年12月31日,精确到0.03秒

DateTime2

  日期/时间

  可变(6~8)

  新扩展的DateTime典型数据类型。支持更大的日期范围和更高的时间部分精度(精确到100ns)。和DateTime一样,它不包含时区信息,但与.NET的DateTime数据类型相对应

SmallDataTime

  日期/时间

4

  日期与时间,取值范围为1990年1月1日~2079年6月6日,精确到分钟

DateTimeOffset

  日期/时间

  可变(8~10)

  类似于DateTime数据类型,但有一个相对于UTC时间的-14:00~+14:00的偏移量。时间在内部存储为UTC时间,任何比较、排序、或索引将基于该统一的时区

Date

  日期/时间

  3

  只存储Gregorain日历定义的0001年1月1日~9999年12月31日的日期数据。采取ANSI标准日期格式(YYYY-MM-DD),但会从其他一些格式隐式转换

Time

  日期/时间

  可变(3~5)

  只存储用户可选的精度为纳秒(默认)的时间数据

Cursor

  特殊小数

  1

  指向游标的指针,只占用一个字节,记住组成实际游标的结果集也占用内存,占用内存的大小取决于结果集

Timestamp

/ rowversion

  特殊小数

(二进制)

  8

  给定数据库的唯一特定值。即使UPDATE语句没有timestamp列(时间标记),但其值在插入或更新记录的时间自动由数据库设定(不允许直接更新timestamp字段)

UniqueIdentifier

  特殊小数

(二进制)

  16

  特殊的全局唯一标识符(GUID),必须保证在内存空间和时间内的唯一

Char

  字符

  可变

  定义字符数据。比设定长短时使用空格填充,为非Unicode数据,最大长度为8000字符

VarChar

  字符

  可变

  长度可变的字符数据。比设定长度短时不使用空格填充,为非Unicode数据。允许最大长度为8000字符,使用max关键字表示其长度可足够大(数据长度可达231字节)

Text

  字符

  可变

  从SQL Server 2005开始支持向后兼容。可使用varchar(max)代替

NChar

    Unicode

  可变

  定长Unicode字符数据。比设定长度短时使用空格填充。最大长度为4000字符

NVarChar

  Unicode

  可变

  可变长度的Unicode字符数据。比设定长度短时不使用空格填充。允许最大长度为4000字符,使用关键字表示其长度足够大(数据长度可达231字节)

Ntext

  Unicode

  可变

  可变长度的Unicode字符数据。类似Text数据类型,仅用作向后兼容,可使用nvarchar(max)代替

Binary

  二进制

  可变

  定长二进制数,最大特定长度为8000字节

VarBinary

  二进制

  可变

  可变长度二进制,最大特定长度为8000字节,可使用max关键字使其作为LOB(大对象)字段(数据长度可达231字节)

Image

  二进制

  可变

  从SQL Server 2005开始支持向后兼容。可使用varbinary(max)代替

Table

  其他

  特殊

  主要用于结果集,通常作为用户自定义函数(UDF)的结果输出或作为存储过程的参数。在表的定义中不作为可用的数据类型

HierarchyID

  其他

  特殊

  维护层次结构位置信息的特殊数据类型。提供特定于层次结构需要的特殊功能。允许作深度、父/子关系和索引比较。实际尺寸随层次结构中的节点数和平均深度而变

Sql_Variant

  其他

  特殊

  与VB和C++中的变量基本无关。其实质上用于保存大多数其他SQL Server数据类型的容器。当列或函数需要处理多种数据类型时可使用这种数据类型。与VB不同的是,使用这种数据类型要将其显式转换为更具体的数据类型

XML

  字符

  可变

  定义一个字符字段用作XML数据。用于针对XML模式的数据验证和使用特殊的面向XML的函数

CLR

  其他

  可变

  随CLR对象的特性而变,CLR对象支持基于自定义数据类型的CLR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值