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

12.25精密数学

MySQL提供对精密数学的支持:数值处理,从而导致极其准确的结果和对无效值的高度控制。精度数学基于这两个功能:

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

  • 用于定点算术的MySQL库。

这些功能对数字操作有几种影响,并提供高度符合标准SQL:

  • 精确计算:对于准确值,计算不会引入浮点错误。相反,使用精确精度。例如,MySQL对待一个数字.0001作为一个确切的值而不是近似值,并求和它是10,000次,产生完全的结果1,不是仅仅是一个值关闭到1。

  • 明确的圆形行为:对于精确值编号,结果圆形的()取决于它的论点,而不是环境因素,例如底层C图书馆如何运作。

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

  • 控制对无效值的处理:溢出和分割零是可检测的,可以被视为错误。例如,您可以对列太大的值,该值太大,而不是具有截断的值截断以置于列数据类型的范围内。同样,您可以将分区视为错误而不是产生结果的操作空值。通过设置服务器SQL模式的设置来选择要采取的方法的选择。

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