1

我如何才能发现 MySQL 中算术运算的结果类型是什么,因为我在手册中找不到它的引用?

如果您执行:

SELECT table.a/table.b;

那么如何找到表达式“table.a/table.b”的结果类型(对于给定的一组已知列类型)?

我搜索了文档,并且为数字运算符指定的类型信息很少:http: //dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html#operator_divide

4

1 回答 1

1

您提供的链接实际上确实很好地说明了这一点。总结一下:

  • 如果两个值都是整数并且一个是无符号的,那么结果将是一个无符号整数。
  • 如果任一值是实数,则结果将是一个实数,其精度等于两个操作数的最大精度。
  • 如果两个值都是精确值(整数或小数),则结果将是一个精确值,其精度为第一个(顶部/分子)运算符加上系统变量的一些额外小数位div_precision_increment,默认设置为 4。
于 2013-01-16T13:15:30.417 回答