SQL Server的数据类型
数据类型下拉列表列出了SQL Server中所有可能的数据类型,这里我们将列出基本数据,其它的数据类型对这些基本类型作了适当变化,而且也很少用到。
·NVarChar/VarChar━━可变长度字符串。VarChars型数据的长度可达255个字符,nVarChars类型数据的长度最大可达64KB。我们通常使用nVarChar,VarChar是为了保持后向兼容性。nVarChar的可贵之处就在于,它在存储数据时只使用必要的空间。
·Char/nChar━━这二种数据类型用于固定长度的文本字段,如果文本长度小于字段长度,则用NULL字符填充。
·Int/BigInt/SmallInt/TinyInt━━整数类型,只能存储整数。这类变量的大小不同,Int型变量的大小是4字节,BigInt是8字节,SmallInt是2字节,TinyInt是1字节。
·Bit━━Bit型变量的值只能是真/假。一个Bit型变量的值是0或1,Bit型字段不能用在索引中。如果需要对真/假值进行索引,使用Char(1)型变量,将其值定义为"0"或"1"。
·Decimal/Numeric━━带小数点的整数,这二种数据类型完全相同。
·Money━━带有4位小数的数字。
·Float/Real━━True fractions或实数,主要用在科学计算应用程序中。不要使用实数类型变量存储货币的多少或数量,而使用整型和numeric,因为很可能出现表面上相同的二个变量"不相等"的情况。
·DateTime━━这类变量存储日期/时间值,这类变量限制了可接受的日期范围。
·Text/nText━━指向大量文本型数据的指针,这类变量的大小只受磁盘空间的限制。
·Image/nImage/Binary━━指向大量二进制数据的指针,例如图像和声音。除了能够接受任意的二进制数据外,这一数据类型与Text类型相似。
·TimeStamp━━系统记录顺序时间数据的特别数据类型。
·UniqueIdentifier━━保存GUID(全球唯一标识符)的专用数据类型。
"length"字段用在字符型和数字型字段中,它决定了数据的最大大小。"允许Nulls"字段决定该字段中是否允许使用NULL
屏幕的下半部分包括每个字段基本数据类型之外的属性:
·描述━━我们可以输入字段的描述。建议读者使用这一属性,因为在对数据库模型进行归档时它非常有用。在创建字段时输入描述,否则,如果日后再想输入描述,就会发现这是非常困难的。
·缺省值━━任何字段的缺省值是Null。如果在定义字段时允许使用Null值,这自然不会引起什么问题。如果定义字段时不允许使用Null值,则最好定义一个缺省值,使我们能够在无需记住哪个字段不能使用Null值的情况下插入一个记录,我们也可以使用系统存储过程或函数作为缺省值。有一种情况我们必须定义缺省值:在向现有数据库表中添加字段,并使它不能成为NULL。由于SQL Server在存储时字段中不能存储NULL,我们必须定义一个缺省值,然后就会使用缺省值加载新添加的字段。
·精度和刻度━━这二个数字只对数字型和小数型数据有效。精度是数字允许的最大位数,刻度是指小数点右边的位数,刻度为零意味着不允许使用小数点。
·标识、标识初值和增量━━这些属性只用于整数型数据。标识字段用于唯一地在数据库表中标识一个记录,从字面来看,它没有除此之外的其它任何意义。我们能够以如下方式定义标识字段:当在数据库表中插入新的记录时,将下次增加的值赋给它。标识属性能够向SQL Server表明,我们希望该字段成为标识字段。标识初始值是我们希望的标识字段的初始值,增量是每当插入一个新记录时我们希望向上一个标识值添加的数量。在每个数据库表中只能有一个标识符字段。
·IsRowGUID━━这一属性只对被定义为"唯一标识符"的字段有效。如果被设置为"真",则向SQL Server表明,该记录的是全球唯一的,全球任何其它数据库中都不存在该记录。当被设置为"真"时,调用NewID的函数被自动放置在"缺省值"属性中,该函数返回一个GUID。该属性主要用于数据库复制,但也可以将它与时间标志共同使用,完成数据库间的同步任务。
·公式━━该属性可以使我们将一个字段说明为计算的结果,该字段实际上是一个伪字段,它与电子表格中的公式字段相似。但它的计算只能是记录一级的,即它只能引用同一个数据库表中同一记录中的其它字段,不能使用合计计算。
·整理━━只适用于SQL Server 2000以及以上版本,我们现在可以进行字段级整理,整理是排序的另一种说法,该属性只适用于字符串字段。(待续)
查看本文来源