SQL Server 2000数据类型
一、 字符型
1、char 最大长度为8000个字符。
说明: NOT NULL 则字符的存储长度和指定的一致,实际字符不足设定长度,后面补空格
NULL并且ANSI_PADING ON 则同NOT NULL;OFF则将后面的空格截取。
2、varchar
二、 数值型
BIGINT、INT、SMALLINT、TINYINT 长度分别是8、4、2、1个字节。
三、 小数
DECIMAL、NUMERIC decimal(12,5)表示小数点左边是7位,右边是5位,小数不占位置。
四、 货币型
MONEY、SMALLMONEY分别占8个和4个字节。
INSERT INTO 货币表
VALUES ($123.45,CAST(’$456.78’ AS MONEY))
五、 日期和时间
DATETIME、SMALLDATETIME
表示范围分别是:8个字节,4个字节存放日期、4个字节存放时间 1753.1.1~9999.12.31
SAMLLMONEY用4字节,1900.1.1~2079.12.31
六、 二进制类型
比特流,一般存放16进制数,譬如安全标识码等
七、 TEXT和IMAGE类型
TEXT用来存放变长的、非Unicode类型、超过8000字节的字符类型,最长可存2GB。SP_TABLEOPTION用来强制TEXT存放于表中,称为“text in row”特性。譬如:设定存储切点为2400(最大可以是7000个字节)
EXEC SP_TABLEOPTION ‘履历’,‘text in row’,2400
IMAGE也就是BLOB( 大二进制对象),表中只存放一地址,图象本身存放于数据库的其他一组页中。
注意:
1、 设计时要谨慎考虑这些字段的使用,因为对这些类型列的操作很麻烦,而且对这些字段数据修改没有日志记录。
2、 TEXT一般用来存放无格式的文本数据。如果需要存放WORD或EXCEL文件,必须用IMAGE。
3、 可以对word、excel、powerpoint、HTML文件进行全文检索。但必须另外加一个字段,说明IMAGE字段中放的是什么类型文件。
八、 Unicode类型——双字节长度存放
Nchan、nvarchar、ntext
九、 特殊类型
1、BIT——一个字节存放八位,往往用来表示逻辑概念
2、TIMESTAMP(时间戳)——根据时间发生次序自动生成的一个二进制数。
3、SQL_VARIANT:2000新增的类型,可以在同一列中保存不同的数据类型。但代价很大。
4、TABLE——类似于一个临时表。
例:DECLARE @TEMP_T table
(id int,
name char(8))
在变量中插入数据:INSERT INTO @TEMP_T values(10,”张山“)
十、 自定义数据类型(UDT)
这不是真正的数据类型,用户在其使用环境中用系统提供的数据了、类型构造模块定义的数据类型。
EXEC SP_ADDTYPE zipcode,’char(10)’,’null’,’dbo’
基本数据类型中如果出现括号,则需要用引号。