4.1 数据表中能存放的数据类型
一个数据库可以由多个数据表组成,每张数据表的名字都是唯一的,就像一个文件夹中的文件名都是唯一的一样。那么,数据表中能存放哪些类型的数据呢?本节就来详细介绍SQL Server数据表中使用的数据类型。
4.1.1 整数数据类型
整数数据类型是常用的一种数据类型,主要用于存储整数,可以直接进行数据运算而不必使用函数转换,如表4-1所示。
表4-1 整数数据类型
从表4-1中可以看出,整数类型主要包括bit、int、smallint、tinyint、bigint。它们的取值范围是从小到大的。在实际应用中,我们要根据存储数据的大小来选择数据类型,这样能够节省数据库的存储空间。
4.1.2 浮点数据类型
浮点数据类型用于存储十进制小数,SQL Server 2017数据库中的浮点数据类型如表4-2所示。
从表4-2中可以看出,如果要精确表示小数可以使用decimal(m,n)或numeric(m,n),如果不需要精确并且表示更多的小数位数,可以使用real或float。总之,还是要根据我们需要的数据的大小和精度来选择合适的浮点数。
表4-2 浮点数据类型
4.1.3 字符数据类型
字符数据类型也是SQL Server中最常用的数据类型之一,用来存储各种字母、数字符号和特殊符号,在使用字符数据类型时,需要在其前后加上英文单引号或者双引号,如表4-3所示。
表4-3 字符数据类型
从表4-3中可以看出,字符串类型可以分为3类,一类是1个字符占用1字节的字符串类型,包括char、varchar和text;一类是1个字符占用2个字节的字符串类型,包括nchar、nvarchar和ntext;一类是存放二进制数据的字符串类型,包括binary、varbinary和image。
另外,在每一类中,字符串类型又分为存放固定长度和可变长度的类型,在实际应用中,建议使用可变长度的类型,这样可以节省数据的存储空间。
提示:varchar(max)和nvarchar(max)类型是在SQL Server 2005版本上开始使用的,一直到SQL Server 2017版本还在使用。
4.1.4 日期时间数据类型
日期和时间数据类型用于存储日期类型和时间类型的组合数据,SQL Server 2017数据库中的日期时间数据类型如表4-4所示。
表4-4 日期和时间数据类型
4.1.5 货币数据类型
货币数据类型用于存储货币值,使用时在数据前加上货币符号,不加货币符号的情况下默认为“¥”,如表4-5所示。
表4-5 货币数据类型
4.1.6 其他数据类型
除上述介绍的数据类型外,SQL Server还提供有大量其他数据类型供用户进行选择,常用的其他数据类型如表4-6所示。
表4-6 其他数据类型
微视频