T-SQL排序规则的优先顺序
精度、小数位数和长度
精度是数中的数字个数。小数位数是数中小数点右边的数字个数。例如,数 123.45 的精度是 5,小数位数是2。
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 字符,以二者中少者计。
除了 decimal 类型之外,数字数据类型的精度和小数位数是固定的。如果算术运算符有两个相同类型的表达式,结果就为该数据类型,并且有对此类型定义的精度和小数位数。如果运算符有两个不同数字数据类型的表达式,数据类型优先规则决定结果的数据类型。结果为该数据类型定义的精度和小数位数。
下表定义了当运算的结果是 decimal 类型时,结果的精度和小数位数是如何计算的。当以下情况时,结果是 decimal 类型:
- 两个表达式是 decimal 类型。
- 一个表达式是 decimal 类型,而另一个是比 decimal 优先顺序低的数据类型。
操作数表达式由表达式 e1(精度为 p1,小数位数为 s1)和表达式 e2(精度为 p2,小数位数为 s2)来表示。非 decimal 类型的表达式的精度和小数位数,是对此表达式数据类型定义的精度和小数位数。
| 操作 | 结果精度 | 结果小数位数 * |
|---|---|---|
| e1 + e2 | max(s1, s2) + max(p1-s1, p2-s2) + 1 | max(s1, s2) |
| e1 - e2 | max(s1, s2) + max(p1-s1, p2-s2) | max(s1, s2) |
| e1 * e2 | p1 + p2 + 1 | s1 + s2 |
| e1 / e2 | p1 - s1 + s2 + max(6, s1 + p2 + 1) | max(6, s1 + p2 + 1) |
* 结果精度和小数位数有绝对最大值 38。当结果精度大于 38 时,相应的小数位数会减少,以避免结果的整数部分被截断。
- · asp中随机生成文件名的函数
- · 18位身份证标准的详细规定,包括校验位的计算…
- · 加速ASP程序的显示速度
- · ASP提速技巧五则
- · ASP网页模板的应用
- · 风格模板初级不完全修改教程
- · len(),lift(),right()不能正常识别中文的解决…
- · 判断Cookies是否处于开启状态
- · 无组件图片与文本同步存入数据库的最简单的办…
- · 将SAX加入我们的ASP应用中(2)
- · 将SAX加入我们的ASP应用中(1)
- · Asp中Global.asa的应用(二)
- · Asp中Global.asa的应用(-)
- · 将SAX加入我们的ASP应用中
- · 限制同一表单被多次提交
- · 禁用浏览器后退按钮
- · 一个简单的投票程序
- · 微软IIS5.0自带组件之漏洞(不认识IE6.0B2)
- · ActiveServerPages的安全问题
- · 畸形URL能导致IIS5.0和exchange2000停止服务
- · 维护ASP应用程序的安全
- · 用MSscriptencode加密asp
- · 给你的FileSystemObject对象加把锁
- · 调试asp的组件时,不需重启机器的方法
- · ADOAPI参考(ADO动态属性)
- · ADOAPI参考(ADO方法)之五
- · ADOAPI参考(ADO方法)之三
- · ADOAPI参考(ADO方法)之一
- · ADOAPI参考(ADO集合)
- · ADOAPI参考(Parameter对象&Property对象&Reco…
- · ADOAPI参考(DataSpace对象&Error对象&Field对…
- · ADOAPI参考(DataControl对象&DataFactory对象)
- · 在VisualJ++中编写ASPCOM组件
- · Structs中基本配置入门
- · XSLT合并模板简述
- · JSP入门学习笔记
- · MySQL5.0中文问题及JDBC数据库连接和JSP汉字编…
- · 用缓冲技术提高JSP应用的性能和稳定性
