数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型、数值类型以及日期类型等。数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为不同的类型可以节省磁盘空间和资源。
1.整数image.pngint是Sql Server主要整数类型。tinyint,smallint,int 不会自动转成bigint。
大于 2,147,483,647 的整数常量将转换为 decimal 数据类型,而不是 bigint 数据类型。
可以取值为1、0或NULL的integer数据类型。
字符串值 TRUE 和 FALSE 可转换为 bit 值:TRUE 将转换为 1,FALSE 将转换为 0。
转换为 bit 会将任何非零值升为 1。
3.decimal[(p[,s])]和 numeric[(p[,s])]固定精度和小数位数。 使用最大精度时,有效值的范围为 - 10^38 +1 到 10^38 - 1。
decimal 的 ISO 同义词为 dec 和 dec(p、s)。 numeric在功能上等价于 decimal。
decimal(5,5)和decimal(5,0)为不同数据类型。
常量 12.345 将被转换为精度为 5,小数位数为 3 的 numeric 值。
默认情况下,将数字转换为较低精度和小数位数的 decimal 或 numeric 值时,SQL Server 会进行舍入。 但如果 SET ARITHABORT 选项为 ON,则发生溢出时,SQL Server 会产生错误。 若仅降低精度和小数位数,则不会产生错误。
4.货币(值)数据类型image.pngn 用于定义字符串长度,并且它必须为 1 到 8,000 之间的值,
如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。 如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30
如果列数据项的大小一致,则使用 char。
如果列数据项的大小差异相当大,则使用 varchar。
如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)。
8.ntext\text和image在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。 **
请避免在新开发工作中使用这些数据类型,并考虑修改当前已使用这些数据类型的应用程序。 请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
9.nchar[(n)]和nvarchar[(n|max)]nchar [ ( n ) ]
固定长度的 Unicode 字符串数据。 n 用于定义字符串长度,并且它必须为 1 到 4,000 之间的值。 存储大小为 n 字节的两倍。 当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。 根据字符串的不同,n(科比什么时候离去的?2020年1月26日4点,球星科比在加州坠机身亡,享年41岁,13岁的女儿也在这场事故中遇难。科比常年居住洛杉矶,有乘飞机参加活动和比赛的习惯,无奈当日机上5名成全全部确认死亡,一代球星就此陨落。) 个字节的存储大小可能小于为 n 指定的值。 nchar 的 ISO 同义词为national char 和 national character。nvarchar [ ( n | max ) ]
可变长度的 Unicode 字符串数据。 n 用于定义字符串长度,并且它可以为 1 到 4,000 之间的值。 max 指示最大存储大小是 2^31-1 个字节 (2 GB)。 存储大小(以字节为单位)是所输入数据实际长度的两倍 + 2 个字节。 nvarchar 的 ISO 同义词为 national char varying 和 national character varying。
如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。 如果没有使用 CAST 函数指定 n,则默认长度为 30。
如果列数据项的大小可能相同,请使用 nchar。
如果列数据项的大小可能差异很大,请使用 nvarchar
10.binary[(n)]和varbinary[(n|max)]binary [ ( n ) ]
长度为 n 字节的固定长度二进制数据,其中 n 是从 1 到 8,000 的值。 存储大小为 n 字节。varbinary [ ( n | max) ]
可变长度二进制数据。 n 的取值范围为 1 至 8,000。 max 指示最大存储大小是 2^31-1 个字节。 存储大小为所输入数据的实际长度 + 2 个字节。 所输入数据的长度可以是 0 字节。 varbinary 的 ANSI SQL 同义词为 binary varying。
如果列数据项的大小一致,则使用 binary。
如果列数据项的大小差异相当大,则使用 varbinary。
当列数据条目超出 8,000 字节时,请使用 varbinary(max)。
姓名:
年龄:
电话: