6.3.3.1 Арифметические операции
В MySQL можно применять обычные арифметические операторы. Следует иметь в
виду, что если оба аргумента являются целыми числами, то при использовании
операторов `-', `+' и `*' результат вычисляется с точностью BIGINT
(64
бита). Если один из аргументов - беззнаковое целое число, а второй
аргумент - также целое число, то результат будет беззнаковым целым числом.
See section 6.3.5 Функции приведения типов.
+
-
Сложение:
mysql> SELECT 3+5;
-> 8
-
-
Вычитание:
mysql> SELECT 3-5;
-> -2
*
-
Умножение:
mysql> SELECT 3*5;
-> 15
mysql> SELECT 18014398509481984*18014398509481984.0;
-> 324518553658426726783156020576256.0
mysql> SELECT 18014398509481984*18014398509481984;
-> 0
В последнем выражении мы получим неверный результат, так как произведение
умножения целых чисел выходит за границы 64-битового диапазона для
вычислений с точностью BIGINT
.
/
-
Деление:
mysql> SELECT 3/5;
-> 0.60
Деление на ноль приводит к результату NULL
:
mysql> SELECT 102/(1-1);
-> NULL
Деление будет выполняться по правилам BIGINT
-арифметики только в случае,
если эта операция представлена в контексте, где ее результат преобразуется
в INTEGER
!