您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> mssql数据库 >> 正文

SQL Server2005 中的数据类型总结

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 SQL Server 2005 中的数据类型归纳为下列类别:精确数字

bigint

decimal

int

numeric

smallint

money

tinyint

smallmoney

bit

 

近似数字

float

real

日期和时间

datetime

smalldatetime

字符串

char

text

varchar

 

Unicode字符串

nchar

ntext

nvarchar

 

二进制字符串

binary

image

varbinary

 

其他数据类型

cursor

timestamp

sql_variant

uniqueidentifier

table

 

  1、精确数字

  I) 整型数据类型int、bigint、smallint 和 tinyint

数据类型

范围

存储

bigint

-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)

8 字节

int

-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)

4 字节

smallint

-2^15 (-32,768) 到 2^15-1 (32,767)

2 字节

tinyint

0 到 255

1 字节

  II) bit 可以取值为 1、0 或 NULL 的整数数据类型。如果表中的列为 8 bit 或更少,则这些列作为 1 个字节存储。如果列为 9 到 16 bit,则这些列作为 2 个字节存储,以此类推。字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。

  III) decimal 和 numeric,两者都是带固定精度和小数位数的数值数据类型。decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )] 两者都是固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。numeric 在功能上等价于 decimal。p(精度)最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。s(小数位数)小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。

  Ⅳ) money 和 smallmoney,两者是 代表货币或货币值的数据类型。

数据类型

范围

存储

money

-922,337,203,685,477.5808 到 922,337,203,685,477.5807

8 字节

smallmoney

-214,748.3648 到 214,748.3647

4 字节

  money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。

  2、近似数字 float 和 real,两者用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;因此,并非 数据类型范围内的所有值都能精确地表示。

数据类型

范围

存储

float

-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308

取决于 n 的值

real

-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38

4 字节

  float [ ( n ) ] 其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。

  3、日期和时间 datetime 和 smalldatetime 两者用于表示某天的日期和时间的数据类型。

数据类型

范围

精确度

datetime

1753 年 1 月 1 日到 9999 年 12 月 31 日

3.33 毫秒

smalldatetime

1900 年 1 月 1 日到 2079 年 6 月 6 日

1 分钟

  datetime用两个 4 字节的整数存储,第一个 4 字节存储"基础日期"(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参照日期。另外一个 4 字节存储天的时间(以午夜后经过的毫秒数表示)。

  smalldatetime 数据类型存储天的日期和时间,但精确度低于 datetime.数据库引擎 将 smalldatetime 值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后经过的分钟数。

  4、字符串char [ ( n ) ],varchar [ ( n | max ) ],text

  char [ ( n ) ]可以存储字母数字值,固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1.如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30.

  varchar [ ( n | max ) ] 可以存储字母数