Feedback
3.3
Arithmetic Operators¶
Arithmetic operators perform mathematical operations on two expressions of numeric data types or timestamps.
Note
The same restrictions that apply to scalar functions also apply to arithmetic operators. See Scalar Functions.
Table of Contents
Supported operators¶
operator |
description |
---|---|
+ |
add one number to another |
- |
subtract the second number from the first |
* |
multiply the first number with the second |
/ |
divide the first number by the second |
% |
finds the remainder of division of one number by another |
Below is an example using all available arithmetic operators:
cr> select ((2 * 4.0 - 2 + 1) / 2) % 3;
+-----------------------------------+
| (((((2 * 4.0) - 2) + 1) / 2) % 3) |
+-----------------------------------+
| 0.5 |
+-----------------------------------+
SELECT 1 row in set (... sec)
Result types¶
Arithmetic operators always return the data type of the argument with the
higher precision. In the case of divide
this means that if both arguments
are of type integer the result will also be an integer with the fractional part
truncated:
cr> select 5 / 2, 5 / 2.0;
+---------+-----------+
| (5 / 2) | (5 / 2.0) |
+---------+-----------+
| 2 | 2.5 |
+---------+-----------+
SELECT 1 row in set (... sec)