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

12.6.1算术运营商

表12.9算术运算符

名称 描述
摩擦 Modulo运营商
* 乘法运算符
+ 加法运营商
- 减去操作员
- 改变论证的标志
/ 分部运营商
div 整数部门

通常提供通常的算术运算符。结果根据以下规则确定:

  • 如果是-+, 和*,结果是计算的big(64位)精度如果两个操作数都是整数。

  • 如果两个操作数都是整数,并且其中任何一个都没有符合,则结果是无符号整数。对于减法,如果是no_unsigned_subtraction.SQL模式已启用,即使任何操作数未签名,结果也会签名。

  • 如果是一个操作数+-/*是一个真实或弦值,结果的精度是操作数的精度,具有最大精度。

  • 在司进行/,使用两个精确值操作数时的结果的规模是第一个操作数的比例加上了该值div_precision_increment.系统变量(默认为4)。例如,表达的结果5.05 / 0.014具有六个小数点的等级(360.714286.)。

对每个操作应用这些规则,使得嵌套计算意味着每个组件的精度。因此,(14620/9432456)/(24250/9432456),首先解决(0.0014)/(0.0026),最终结果具有8个小数点(0.60288653)。

由于这些规则和它们所应用的方式,应注意确保计算的组件和子组件使用适当的精度水平。看第12.11节“演员函数和运营商”

有关数字表达式评估中溢出处理的信息,请参阅第11.1.7节“超出范围和溢流处理”

算术运算符适用于数字。对于其他类型的值,可以使用替代操作。例如,要添加日期值,请使用date_add();看第12.7节“日期和时间函数”

  • +

    添加:

    mysql>选择3 + 5;- > 8
  • -

    减法:

    mysql>选择3-5;- > -2
  • -

    一元减去。此操作员更改操作数的符号。

    mysql> select  -  2;- > -2
    笔记

    如果此操作符与a一起使用big,返回值也是一个big。这意味着您应该避免使用-在可能具有-2值的整数上63.

  • *

    乘法:

    mysql>选择3 * 5;- > 15 mysql>选择18014398509481984 * 18014398509481984.0;- > 324518726783156020576256.0 mysql>选择18014398509481984 * 18014398509481984;- >超出超出错误

    最后一个表达式产生错误,因为整数乘法的结果超过了64位范围big计算。(看第11.1节“数字数据类型”第11.1节。)

  • /

    分配:

    mysql>选择3/5;- > 0.60

    归零划分产生a空值结果:

    mysql>选择102 /(1-1);- > null.

    分部计算big仅在其结果转换为整数的上下文中执行时才算术。

  • div

    整数分裂。从小数点右侧的划分结果丢弃。

    如果任一操作数具有非整数类型,则操作数将转换为十进制分开使用十进制在将结果转换之前算术big。如果结果超过big范围,发生错误。

    MySQL>选择5 div 2,-5 div 2,5 div -2,-5 div -2;- > 2,-2,-2,2
  • N.mN.摩擦m

    模数操作。返回剩余时间N.除以m。有关更多信息,请参阅以下描述mod()功能在第12.6.2节“数学函数”