SQL语言的数据类型
?
- 字符串类型
- UNICODE?字符串类型是指对所有字符均采用双字节(16bit)统一编码的一类数据;
- 非UNICODE?字符串类型是指对不同国家或地区采用编码长度的一类数据,例如英文字母使用一个字节(8bit)进行编码,汉字则使用2个字节(16bit)进行编码;
?
数据类型 | 说明 |
char(n) | 固定长度的非UNICODE的字符串类型 |
varchar(n) | 可变长的非UNICODE的字符串类型 |
text | 可变长的非UNICODE文本数据类型 |
nchar(n) | 固定长度的UNICODE字符串类型 |
nvarchar(n) | 可变长的UNICODE字符串类型 |
ntext | 可编程的UNICODE文本数据类型 |
- 数值型
精确型
数据类型 | 说明 |
bit | 表示位整形,存储0或1,也可为null,占1字节 |
tinyint | 表示小整形,0到255的整数,占1字节 |
smallint | 表示短整形,占2字节 |
int | 整形数据类型,占4个字节 |
bigint | 表示大整形,占8字节 |
numeric(m,n) | 定点型数据类型,m为有效位数,n为精确到第n位 |
decimal(m,n) | 功能和numeric(m,n)相同 |
近似型
数据类型 | 说明 |
real | 占4字节,存储某个范围的浮点精度数值 |
float | 占8个字节 |
- 日期时间类型
- datetime型是用于存储日期和时间的结合体的数据类型。它可以存储从公元1753年1月1日零时起到公元9999年12月31日23时59分59秒之间的所有日期和时间。datetime型数据所占用的存储空间为8个字节,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。
- smalldatetime型与datetime型相似,但其存储的日期时间范围较小,从1900年1月1日到2079年6月6日。它的精度也较低,只能精确到分钟级。Smalldatetime型数据所占用的存储空间为4个字节,其中前两个字节存储从基础日期1900年1月1日以来的天数,后两个字节存储此日零时起所指定的时间经过的分钟数
- 货币类型
- smallmoney型货币数据值介于-14,748.3648~+214,748.3647之间,精确到货币单位的万分之一。存储大小为 4 个字节。
- money型是一个有4位小数的decimal值,其取值从-263?(-9 223 372 036 854 775 808) ~263?-1(+9 223 372 036 854 775 807),精确到货币单位的万分之一。存储大小为8个字节。
- 二进制类型
数据类型 | 说明 |
binary(n) | 表示固定长度的二进制数据类型 |
varbinary(n) | 表示可变长度的二进制数据类型 |
image | 表示更大容量、可变长度的二进制数据类型。它既可以存储文本格式,也可以存储GIF格式等多种格式类型的文件 |
?
?
?
?
?
?
?
?
?
?
?
?
?
?
- 自定义数据类型
用户可以根据需要定义自己的数据类型。可以使用create type。
?