数据类型是数据的一种属性,表示数据信息的类型。SQL Server 2017提供的数据类型包括:字符数据类型、数值型数据类型、货币型数据类型、日期/时间型数据类型、统一码数据类型、图像数据类型、文本数据类型和自定义数据类型。
SQL Server 2017 中的数据类型归纳为下列类别:
➢精确数字:bigint、decimal、int、numeric、smallint、money、tinyint、smallmoney、bit。
➢近似数字:float、real。
➢日期和时间:datetime、smalldatetime。
➢字符串:char、text、varchar。
➢Unicode 字符串:nchar、ntext、nvarchar。
➢二进制字符串 :binary、image、varbinary。
➢其他数据类型:cursor、timestamp、sql_variant、uniqueidentifier、table、xml。
对其中常见的数据类型和有代表性的数据类型讲解如下:
➢int:使用整数数据的精确数字数据类型,按照存储使用的字节数多少,其能存储的整数的范围也不一样。
➢bit:可以取值为 1、0 或 NULL 的整数数据类型。字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。 但在新的SQL标准下,此类型已不建议被使用。
➢decimal[( p[ , s] )]:带固定精度和小数位数的数值数据类型。
● p(精度):最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。(www.xing528.com)
● s(小数位数):小数点右边可以存储的十进制数字的最大位数。小数位数必须是从0 到 p 之间的值。仅在指定精度后才可以指定小数位数,默认的小数位数为 0。因此,0 <=s <=p。
➢money:代表货币或货币值的数据类型。
➢datetime:用于表示某天的日期和时间的数据类型。
➢char [( n )]:固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1~8 000,存储大小是 n 个字节。
➢varchar [( n | max )]:可变长度,非 Unicode 字符数据。n 的取值范围为 1~8 000。max 指示最大存储大小是 231-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。
如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和CONVERT 函数时未指定 n,则默认长度为 30。
注意
如果站点支持多语言,请考虑使用 Unicode nchar 或 nvarchar 数据类型,最大限度地消除字符转换问题。
如果使用 char 或 varchar,建议执行以下操作:
➢如果列数据项的大小一致,则使用 char。
➢如果列数据项的大小差异相当大,则使用 varchar。
➢如果列数据项大小相差很大,而且大小可能超过8 000字节,请使用varchar(max)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。