数据类型
2.浮点数据类型 :
用于存储十进制小数 ,采用只入不舍的方式
(1)Real:4个字节的,最大7位精确位数。
(2)Float:可以精确到第15位小数,默认占用8个字节的存储空间。Float数据类型也可以写为float(n)的形式,n为1~15之间的整数值。当n取1~7时,系统用4个字节存储它;当n取8~15时,用8个字节存储它。
4.1 数据类型
(3)Decimal和numeric:可以提供小数所需要的实际存储空间,可以用2~17个字节来存储。也可以将其写为decimal(p,s)的形式。
注意:数值类型的总位数不包括小数。
例如:decimal(10,5),表示共有10位数,其中整数5位,小数5位。
4.1 数据类型
3.字符数据类型
用来存储各种字母、数字符号和特殊符号。在使用时需要在其前后加上英文单引号或者双引号。
(1)Char:占用1个字节。
其定义形式为:char(n)
n的取值为1~8000。默认n的值为1。
4.1 数据类型
(2)Varchar:可以存储长达8000个字符的可变长度字符串,和char类型不同varchar类型根据输入数据的实际长度而变化。
其定义形式为:varchar(n)
(3)Nchar:采用Unicode(统一字符编码标准)字符集每个Unicode字符用两个字节为一个存储单位。
其定义形式为:nchar(n)
(4)Nvarchar:使用Unicode字符集的Varchar数据类型。
其定义形式为:nvarchar(n)
4.1 数据类型
4.日期和时间数据类型
(1)Datetime:占用8个字节。
用于存储日期和时间的结合体,可以存储从公元1753年1月1日零时起~公元9999年12月31日23时59分59秒之间的所有日期和时间,其精确度可达三百分之一秒,即3.33毫秒。
当存储datetime数据类型时,默认的格式是:MM DD YYYY hh:mm A.M./P.M。当插入数据或者在其它地方使用datetime类型时,需要用单引号把它括起来。
4.1 数据类型
默认January 1,1900 12:00 A.M。可以接受的输入格式如下:Jan 4 1999、JAN 4 1999、January 4 1999、Jan 1999 4、1999 4 Jan和1999 Jan 4。datetime数据类型允许使用/、-和.作为不同时间单位间的分隔符。
(2)Smalldatetime:存储从1900年1月1日~2079年6月6日内的日期。4个字节。
4.1 数据类型
5.文本和图形数据类型
(1)Text:容量可以在1~231-1个字节。
在定义Text数据类型时,不需要指定数据长度,SQL Server会根据数据的长度自动为其分配空间。
(2)Ntext:采用unicode标准字符集,用于存储大容量文本数据。其理论上的容量为230-1(1,073,741,823)个字节。
(3)Image:用于存储照片、目录图片或者图画,其理论容量为231-1(2,147,483,647)个字节。
4.1 数据类型
6.货币数据类型
(1)Money:用于存储货币值,数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,存储范围为-922337213685477.5808 ~922337213685477.5808,精度为货币单位的万分之一。
(2)Smallmoney:其存储范围为-214748.3468~214748.3467。
当为money或smallmoney的表输入数据时,必须在有效位置前面加一个货币单位符号(如$或其它货币单位的记号)。
4.1 数据类型
7.位数据类型
Bit称为位数据类型,有两种取值:0和1。如果一个表中有8个或更少的bit列时,用1个字节存放。如果有9~16个bit列时,用2个字节存放。
在输入0以外的其它值时,系统均把它们当1看待。
4.1 数据类型
8.二进制数据类型
(1)Binary:
其定义形式为binary(n),数据的存储长度是固定的,即n+4个字节。二进制数据类型的最大长度(即n的最大值)为8000,常用于存储图像等数据。
(2)Varbinary:
其定义形式为varbinary(n),数据的存储长度是变化的,它为实际所输入数据的长度加上4字节。
在输入二进制常量时,需在该常量前面加一个前缀0x。
4.1 数据类型
9.特殊数据类型
(1)Timestamp:也称作时间戳数据类型。是一种自动记录时间的数据类型,主要用于在数据表中记录其数据的修改时间。它提供数据库范围内的唯一值。
(2)Uniqueidentifier:也称作唯一标识符数据类型。Uniqueidentifier用于存储一个16字节长的二进制数据类型,它是SQL Server根据计算机网络适配器地址和CPU时钟产生的全局唯一标识符代码(Globally Unique Identifier,简写为GUID)。
4.1 数据类型
10.新增数据类型
(1)Bigint:占用8个字节。
(2)sql_variant:用于存储除文本、图形数据和timestamp类型数据外的其它任何合法的SQL Server数据。
(3)table:用于存储对表或者视图处理后的结果集。
4.1 数据类型
4.1.2 自定义数据类型
1.使用企业管理器创建
2.利用系统存储过程创建
sp_addtype [@typename=] type,
[@phystype=] system_data_type
[, [@nulltype=] ‘null_type’]
[, [@owner=] ‘owner_name’]
4.1 数据类型
type:指定用户定义的数据类型的名称。
system_data_type:指定相应的系统提供的数据类型的名称及定义。注意,不能使用timestamp数据类型,当所使用的系统数据类型有额外说明时,需要用引号将其括起来。
null_type:指定用户自定义数据类型的null属性,其值可以为‘null’、‘not null’或者‘nonull’。默认与系统默认的null属性相同。
owner_name:指定用户自定义数据类型的所有者。
4.1 数据类型
删除用户自定义数据
1.使用企业管理器
2.利用系统存储过程
sp_droptype [@typename=] ‘type’