数据库中,列、变量、存储过程等均具有数据类型。当指定了对象的数据类型时,也就指定了该对象所含的数据类型、所存储值得长度、大小、数字精度和小数位数。
基本数据类型的分类有:数值数据类型、字符和二进制数据类型、日期时间数据类型、逻辑数据类型。
1、数值数据类型
①、整数数据类型
用来存储整数,可以用较少的字节存储较大的精确数字,数值列应尽量使用整数。
②、浮点数数据类型
用来存储实数数据
float占据8字节、real占据4字节。
备注:float可写成float(n)的形式。
③、精确数值类型
用于存储有小数点且小数点后位数确定的实数。
有decimal和numeric两种类型
④、货币类型
有money和smallmoney两种类型。
输入货币数据时必须先加$符号,要不会被当成浮点数
2、字符和二进制数据类型
①、字符数据类型
用于存储汉子、英文字母、数字符号和其他各种符号。
输入字符数据时需用单引号括起来。
有char、varchar、text三类型。
char:定义形式为:char[(n)],n取值为1到8000。默认为1.
varchar:定义形式为:varchar[(n)],n取值为1到8000。默认为1.
text:用来存储数据量大而变长的字符文本数据,text的长度可变。当要求存储255个字符以上的数据时,可使用text类型
备注:char和varchar的数据类型一致,区别有1、主要有是varchar字符长度小于n是不用空格来填满,按输入字符的实际长度存储,若输入的数据超过n个字符,则截断后存储。2、varchar所需要的存储空间小一些 3、varchar列的存取速度较char慢
②、二进制数据类型
用来存储二进制数据或字符串。
使用时用引号或者0x开头。
分类:binary:定义形式为:binary[(n)],n取值为1到8000。默认为1.存储二进制字符。如程序代码和图像数据。
varbinary:定义形式为:varbinary[(n)],n取值为1到8000。
image:与text类似,存储的为二进制数据。
一般用varbinary类型来存储二进制数据,image可以用来存储超过8kb的可变长度二进制数据。
备注:binary、varbinary的区别和char和varchar类似。
3、日期时间数据类型
用来存储日期好时间数据
分类:datetime:存储从1753.1.1到9999.12.31的时间日期数据,精确到3/100秒。长度为4字节整数(日期和时间)
smalldatetime:存储从1900.1.1到2079.6.6的时间日期数据,精确到分钟。长度为4字节(小时和分钟)
4、逻辑数据类型bit
bit,适用于判断真假的场合,长度为1.取值有1、0、null。
备注:bit列不允许建立索引
多个bit列可以占用同一个字节。
5、其他
timestamp:时间戳数据类型,用于自动记录插入或删除操作的而时间。
sql_variant:可变数据类型
table:表类型
uniqueidentitfier:GUID(全局唯一标识符)类型。