精度、小数位数和长度(SQLSERVER)。
精度是数字中的数字个数。小数位数是数中小数点右边的数字个数。例如,数 123.45 的精度是 5,小数位数是 2。 在 SQL Server 中,numeric 和 decimal 数据类型的默认最大精度为 38。在 SQL Server 早期版本中,默认最大精度为 28。 数字数据类型的长度是存储此数所占用的字节数。字符串或 Unicode 数据类型的长度是字符个数。binary、varbinary 和 image 数据类型的长度是字节数。例如,int 数据类型可以有 10 位数,用 4 个字节存储,不接受小数点。int 数据类型的精度是 10,长度是 4,小数位数是 0。 当两个 char、varchar、binary 或 varbinary 表达式串联时,所生成表达式的长度是两个源表达式长度之和,或是 8,000 字符,以二者中少者计。 当两个 nchar 或 nvarchar 表达式串联时,所生成表达式的长度是两个源表达式长度之和,或是 4,000 字符,以二者中少者计。 使用 UNION、EXCEPT 或 INTERSECT 对数据类型相同但长度不同的两个表达式进行比较时,得到的长度为两个表达式中较大的长度。 除了 decimal 类型之外,数字数据类型的精度和小数位数是固定的。如果算术运算符有两个相同类型的表达式,结果就为该数据类型,并且具有对此类型定义的精度和小数位数。如果运算符有两个不同数字数据类型的表达式,则由数据类型优先级决定结果的数据类型。结果具有为该数据类型定义的精度和小数位数。 下表定义了当运算结果是 decimal 类型时,如何计算结果的精度和小数位数。当下列任一条件成立时,结果为 decimal: 两个表达式都是 decimal 类型。 一个表达式是 decimal 类型,而另一个是比 decimal 优先级低的数据类型。 操作数表达式由表达式 e1(精度为 p1,小数位数为 s1)和表达式 e2(精度为 p2,小数位数为 s2)来表示。非 decimal 类型的任何表达式的精度和小数位数,是对此表达式数据类型定义的精度和小数位数。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用t-sql进行数据透视[封闭]
- sql-server – 报表服务器无法解密用于访问报表服务器数据库
- sqlserver2008 端口占用 8080 ReportingServicesService.ex
- 在SQLServer中将数据从高版本导入低版本的方法
- SQLServer 2014 缓冲池扩展(Buffer Pool Extension)
- SQL Server数据库与SQL Server数据库的并发症有不同的排序规
- sql-server-2008-r2 – SQL Server 2008 R2中ntext和varcha
- MSSQLServer在附加数据库失败的问题
- PB10及以上版本连接MSSQLServer
- 在SQL SERVER中导致索引查找变成索引扫描的问题分析