content_image/669267.jpg
<img src='content_image/669267.jpg'>

The usual arithmetic operators are available. The result is determined according to the following rules: 

•In the case of - , + , and * , the result is calculated with BIGINT  (64-bit) precision if both operands are integers. 

•If both operands are integers and any of them are unsigned, the result is an unsigned integer. For subtraction, if the NO_UNSIGNED_SUBTRACTION  SQL mode is enabled, the result is signed even if any operand is unsigned. 

•If any of the operands of a + , - , / , * , %  is a real or string value, the precision of the result is the precision of the operand with the maximum precision. 

•In division performed with / , the scale of the result when using two exact-value operands is the scale of the first operand plus the value of the div_precision_increment  system variable (which is 4 by default). For example, the result of the expression 5.05 / 0.014  has a scale of six decimal places ( 360.714286 ). 

These rules are applied for each operation, such that nested calculations imply the precision of each component. Hence, (14620 / 9432456) / (24250 / 9432456) , resolves first to (0.0014) / (0.0026) , with the final result having 8 decimal places ( 0.60288653 ). 

Because of these rules and the way they are applied, care should be taken to ensure that components and subcomponents of a calculation use the appropriate level of precision. See Section 12.11, “Cast Functions and Operators” . 

For information about handling of overflow in numeric expression evaluation, see Section 11.1.7, “Out-of- Range and Overflow Handling” . 

Arithmetic operators apply to numbers. For other types of values, alternative operations may be available. For example, to add date values, use DATE_ADD() ; see Section 12.7, “Date and Time Functions” . 

## • + 

Addition: 

mysql> SELECT 3+5; -> 8 

## • - 

Subtraction: 

mysql> SELECT 3-5; -> -2 

## • - 

Unary minus. This operator changes the sign of the operand. 

mysql> SELECT - 2; -> -2 

