通常提供通常的算术运算符。结果根据以下规则确定:
如果两个操作数都是整数,并且其中任何一个都没有符合,则结果是无符号整数。对于减法,如果是
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
乘法:
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
仅在其结果转换为整数的上下文中执行时才算术。整数分裂。从小数点右侧的划分结果丢弃。
如果任一操作数具有非整数类型,则操作数将转换为
十进制
分开使用十进制
在将结果转换之前算术big
。如果结果超过big
范围,发生错误。MySQL>选择5 div 2,-5 div 2,5 div -2,-5 div -2;- > 2,-2,-2,2
模数操作。返回剩余时间
N.
除以m
。有关更多信息,请参阅以下描述mod()
功能在第12.6.2节“数学函数”。