Справочное руководство по MySQL версии 4.1.1-alpha

       

Арифметические операции


В 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!



Содержание раздела