В MySQL можно применять обычные арифметические операторы. Следует иметь в
виду, что если оба аргумента являются целыми числами, то при использовании
операторов '-
', '+
' и '*
' результат вычисляется с точностью BIGINT
(64
бита). Если один из аргументов - беззнаковое целое число, а второй
аргумент - также целое число, то результат будет беззнаковым целым числом.
See Раздел 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
!