系统数据类型:
1.二进制数据类型 2.整数数据类型
3.浮点数据类型 4.精确小数数据类型
5.货币数据类型 6.日期/时间数据类型
7.字符数据类型 8.unicode数据类型
9.特殊数据类型
1.二进制数据类型:
binary[n]: 固定长度为n个字节的二进制数。
varbinary[n]: n个字节可变长的二进制数。
image: 可变长的二进制整数,用于存储超过8KB的数据。如:word文档、excel图表以及图像等数据。最大长度2^31-1个字符。
2.整数数据类型:
bit:数据的值只能是0或1。
int:存储空间占4个字节。
bigint:存储空间占8个字节。
smallint:存储空间占2个字节。
tinyint:存储空间占1个字节。
3.浮点数据类型:
注意:货币运算一般不用这个数据类型,容易发生舍入误差,大家都知道为什么吧。
float: 存储空间占8个字节。
real: 存储空间占4个字节。
4.精确小数数据类型:
decimal(p,s):取值范围-10^38+1~10^38-1.可以指定总位数p和小数位数s。
numeric:表示范围最多可达38位。可以指定总位数p和小数位数s。
区别:numeric类型的可以带IDENTITY关键字。
5.货币数据类型:
money:占8个字节。精度为19,小数4位。
smallmoney:占4个字节。精度为10,小数4位。
6.日期/时间数据类型:
Datetime:用于存储日期和时间。占8个字节。
Smalldatetime:日期时间范围比较小。占4个字节。
7.字符数据类型:
char(n) :存放固定长度的字符,每个字符占一个字节,n值不能超过8000。
varchar(n) :存放可变长度的字符,n值不能超过8000。
text:存放数量庞大的变长字符,最大长度可达2^31-1个字符。
8.Unicode数据类型:
nchar(n):存放固定长度的Unicode字符,n值不能超过4000。
nvarchar(n) :存放可变长度的Unicode字符,n值不能超过4000。
ntext:存放可多达2^30-1个可变长Unicode字符。
9.特殊数据类型:
timestamp:时间戳,是由数据库自动生成的不重复的二进制数字。
uniqueidentifier:全局唯一标识符。在表的多个副本中唯一地标识行
table:只能用于定义局部变量或函数返回值。
xml:存储xml数据。
用户自定义类型
创建用户自定义数据类型时必须提供名称、新数据类型所依据的系统数据类型、数据类型是否允许空值。
使用CREATE TYPE创建用户自定义数据类型,格式为:
CREATE TYPE type_name
{FROM system_type [NULL | NOT NULL]}
其中:
–type_name:是用户自定义数据类型的名字。
–system_type:是用户自定义数据类型所基于的系统数据类型名,如varchar、int等。
–NULL |
NOT NULL:是否可以为空值。如果缺省该项,则默认为NULL。