10bet官方网站文档家里
MySQL 8.0参考手册
相关文件10bet官方网站 本手册下载 从本手册中摘录

12.25精确数学

MySQL提供了精确数学的支持:数值处理会导致非常精确的结果和对无效值的高度控制。精确数学是基于以下两个特征:

  • 控制服务器接受或拒绝无效数据的严格程度的SQL模式。

  • 用于定点运算的MySQL库。

这些特性对数字操作有一些暗示,并提供了对标准SQL的高度遵从:

  • 精确计算:对于精确值的数字,计算不会引入浮点错误。相反,使用精确的精度。例如,MySQL将数字处理为.0001作为精确值而不是近似值,将它加一万次会得到精确的结果1而不是一个仅仅是关闭到1。

  • 定义良好的舍入行为:对于精确值编号,结果圆形的()这取决于它的参数,而不是环境因素,比如底层C库是如何工作的。

  • 平台独立性:对精确数值的操作在Windows和Unix等不同平台上是相同的。

  • 控制对无效值的处理:溢出和除零是可检测的,可作为错误处理。例如,可以将对于列来说太大的值视为错误,而不是将值截断以位于列的数据类型范围内。类似地,您可以将除零视为错误,而不是产生结果的操作空值。选择哪种方法取决于服务器SQL模式的设置。

以下讨论涵盖了精确数学作品的若干方面,包括具有旧应用程序的可能的不兼容性。最后,给出了一些示例,用于演示MySQL如何精确处理数字操作。有关控制SQL模式的信息,请参阅第5.1.11节,“服务器SQL模式”