pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:414
发帖:45 篇
来自:保密
注册:2022-05-03 21:53:24
造访:2022-11-17 08:42:05
发帖:45 篇
来自:保密
注册:2022-05-03 21:53:24
造访:2022-11-17 08:42:05
[ 第 1 楼 ]
回复

以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。
bit:0或1的整型数字
int:从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint:从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint:从0到255的整型数字
decimal:从-10^38到10^38-1的定精度与有效位数的数字
numeric:decimal的同义词
money:从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
smallmoney:从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十
float:从-1.79E+308到1.79E+308可变精度的数字
real:从-3.04E+38到3.04E+38可变精度的数字
datetime:从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒
smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟
timestamp:时间戳,一个数据库宽度的唯一数字
uniqueidentifier:全球唯一标识符GUID
char:定长非Unicode的字符型数据,最大长度为8000
varchar:变长非Unicode的字符型数据,最大长度为8000
text:变长非Unicode的字符型数据,最大长度为2^31-1(2G)
nchar:定长Unicode的字符型数据,最大长度为8000
nvarchar:变长Unicode的字符型数据,最大长度为8000
ntext:变长Unicode的字符型数据,最大长度为2^31-1(2G)
binary:定长二进制数据,最大长度为8000
varbinary:变长二进制数据,最大长度为8000
image:变长二进制数据,最大长度为2^31-1(2G)
整数数据类型 INT 或INTEGER SMALLINT TINYINT BIGINT
浮点数据类型 REAL FLOAT DECIMAL NUMERIC
二进制数据类型 BINARY VARBINARY
逻辑数据类型 BIT
字符数据类型 CHAR NCHAR VARCHAR NVARCHAR
文本和图形数据类型 TEXT NTEXT IMAGE
日期和时间数据类型 DATETIME SMALLDATETIME
货币数据类型 MONEY SMALLMONEY
特定数据类型 TIMESTAMP UNIQUEIDENTIFIER
用户自定义数据类型 SYSNAME
新数据类型 SQL_VARIANT TABLE
其中BIGINT SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型下面分类讲述各种数据类型
一、 整数数据类型
整数数据类型是最常用的数据类型之一
1、 INT INTEGER
INT 或INTEGER 数据类型存储从-231 -2 147 483 648 到231-1 2 147 483 647 之间的所有正负整数每个INT 类型的数据按4 个字节存储其中1 位表示整数值的正负号其它31 位表示整数值的长度和大小
2 、SMALLINT
SMALLINT 数据类型存储从-215 -32 768 到215-1 32 767 之间的所有正负整数每个MALLINT 类型的数据占用2 个字节的存储空间其中1 位表示整数值的正负号其它15 位表示整数值的长度和大小
3 、TINYINT
TINYINT数据类型存储从0 到255 之间的所有正整数每个TINYINT类型的数据占用1 个字节的存储空间
4、 BIGINT
BIGINT 数据类型存储从-2^63 -9 223 372 036 854 775 807 到2^63-1 9 223 372 036 854 775 807 之间的所有正负整数每个BIGINT 类型的数据占用8个字节的存储空间
二、浮点数据类型
浮点数据类型用于存储十进制小数浮点数值的数据在SQL Server 中采用上舍入Round up 或称为只入不舍方式进行存储所谓上舍入是指当且仅当要舍入的数是一个非零数时对其保留数字部分的最低有效位上的数值加1 并进行必要的进位若一个数是上舍入数其绝对值不会减少如对3.14159265358979 分别进行2 位和12位舍入结果为3.15 和3.141592653590
1、 REAL 数据类型
REAL数据类型可精确到第7 位小数其范围为从-3.40E -38 到3.40E +38 每个REAL类型的数据占用4 个字节的存储空间
2、 FLOAT
FLOAT数据类型可精确到第15 位小数其范围为从-1.79E -308 到1.79E +308 每个FLOAT 类型的数据占用8 个字节的存储空间
FLOAT数据类型可写为FLOAT[ n ]的形式n 指定FLOAT 数据的精度n 为1到15 之间的整数值当n 取1 到7 时实际上是定义了一个REAL 类型的数据系统用4 个字节存储它当n 取8 到15 时系统认为其是FLOAT 类型用8 个字节存储它
3、 DECIMAL
DECIMAL数据类型可以提供小数所需要的实际存储空间但也有一定的限制您可以用2 到17 个字节来存储从-1038-1 到1038-1 之间的数值可将其写为DECIMAL[ p [s] ]的形式p 和s 确定了精确的比例和数位其中p 表示可供存储的值的总位数不包括小数点缺省值为18 s 表示小数点后的位数缺省值为0 例如decimal 15 5表示共有15 位数其中整数10 位小数5 位表4-3 列出了各精确度所需的字节数之间的关系表 DECIMAL数据类型的精度与字节数
精度 字节数
1 ~ 2 2
3 ~ 4 3
5 ~ 7 4
8 ~ 9 5
10 ~ 12 6
13 ~ 14 7
15 ~ 16 8
17 ~ 19 9
20 ~ 21 10
22 ~ 24 11
25 ~ 26 12
27 ~ 28 13
29 ~ 31 14
32 ~ 33 15
34 ~ 36 16
37 ~ 38 17
bit:0或1的整型数字
int:从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint:从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint:从0到255的整型数字
decimal:从-10^38到10^38-1的定精度与有效位数的数字
numeric:decimal的同义词
money:从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
smallmoney:从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十
float:从-1.79E+308到1.79E+308可变精度的数字
real:从-3.04E+38到3.04E+38可变精度的数字
datetime:从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒
smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟
timestamp:时间戳,一个数据库宽度的唯一数字
uniqueidentifier:全球唯一标识符GUID
char:定长非Unicode的字符型数据,最大长度为8000
varchar:变长非Unicode的字符型数据,最大长度为8000
text:变长非Unicode的字符型数据,最大长度为2^31-1(2G)
nchar:定长Unicode的字符型数据,最大长度为8000
nvarchar:变长Unicode的字符型数据,最大长度为8000
ntext:变长Unicode的字符型数据,最大长度为2^31-1(2G)
binary:定长二进制数据,最大长度为8000
varbinary:变长二进制数据,最大长度为8000
image:变长二进制数据,最大长度为2^31-1(2G)
整数数据类型 INT 或INTEGER SMALLINT TINYINT BIGINT
浮点数据类型 REAL FLOAT DECIMAL NUMERIC
二进制数据类型 BINARY VARBINARY
逻辑数据类型 BIT
字符数据类型 CHAR NCHAR VARCHAR NVARCHAR
文本和图形数据类型 TEXT NTEXT IMAGE
日期和时间数据类型 DATETIME SMALLDATETIME
货币数据类型 MONEY SMALLMONEY
特定数据类型 TIMESTAMP UNIQUEIDENTIFIER
用户自定义数据类型 SYSNAME
新数据类型 SQL_VARIANT TABLE
其中BIGINT SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型下面分类讲述各种数据类型
一、 整数数据类型
整数数据类型是最常用的数据类型之一
1、 INT INTEGER
INT 或INTEGER 数据类型存储从-231 -2 147 483 648 到231-1 2 147 483 647 之间的所有正负整数每个INT 类型的数据按4 个字节存储其中1 位表示整数值的正负号其它31 位表示整数值的长度和大小
2 、SMALLINT
SMALLINT 数据类型存储从-215 -32 768 到215-1 32 767 之间的所有正负整数每个MALLINT 类型的数据占用2 个字节的存储空间其中1 位表示整数值的正负号其它15 位表示整数值的长度和大小
3 、TINYINT
TINYINT数据类型存储从0 到255 之间的所有正整数每个TINYINT类型的数据占用1 个字节的存储空间
4、 BIGINT
BIGINT 数据类型存储从-2^63 -9 223 372 036 854 775 807 到2^63-1 9 223 372 036 854 775 807 之间的所有正负整数每个BIGINT 类型的数据占用8个字节的存储空间
二、浮点数据类型
浮点数据类型用于存储十进制小数浮点数值的数据在SQL Server 中采用上舍入Round up 或称为只入不舍方式进行存储所谓上舍入是指当且仅当要舍入的数是一个非零数时对其保留数字部分的最低有效位上的数值加1 并进行必要的进位若一个数是上舍入数其绝对值不会减少如对3.14159265358979 分别进行2 位和12位舍入结果为3.15 和3.141592653590
1、 REAL 数据类型
REAL数据类型可精确到第7 位小数其范围为从-3.40E -38 到3.40E +38 每个REAL类型的数据占用4 个字节的存储空间
2、 FLOAT
FLOAT数据类型可精确到第15 位小数其范围为从-1.79E -308 到1.79E +308 每个FLOAT 类型的数据占用8 个字节的存储空间
FLOAT数据类型可写为FLOAT[ n ]的形式n 指定FLOAT 数据的精度n 为1到15 之间的整数值当n 取1 到7 时实际上是定义了一个REAL 类型的数据系统用4 个字节存储它当n 取8 到15 时系统认为其是FLOAT 类型用8 个字节存储它
3、 DECIMAL
DECIMAL数据类型可以提供小数所需要的实际存储空间但也有一定的限制您可以用2 到17 个字节来存储从-1038-1 到1038-1 之间的数值可将其写为DECIMAL[ p [s] ]的形式p 和s 确定了精确的比例和数位其中p 表示可供存储的值的总位数不包括小数点缺省值为18 s 表示小数点后的位数缺省值为0 例如decimal 15 5表示共有15 位数其中整数10 位小数5 位表4-3 列出了各精确度所需的字节数之间的关系表 DECIMAL数据类型的精度与字节数
精度 字节数
1 ~ 2 2
3 ~ 4 3
5 ~ 7 4
8 ~ 9 5
10 ~ 12 6
13 ~ 14 7
15 ~ 16 8
17 ~ 19 9
20 ~ 21 10
22 ~ 24 11
25 ~ 26 12
27 ~ 28 13
29 ~ 31 14
32 ~ 33 15
34 ~ 36 16
37 ~ 38 17

