Search the MySQL manual:
MySQL Manual

Buy this Reference Manual in softcover from Barnes & Noble!

/ / Up / Table of Contents

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!

User Comments

Posted by [name withheld] on Wednesday September 4 2002, @2:54pm [Delete] [Edit]

mysql> SELECT 3 + NULL;
-> NULL

Add your own comment.

Top / / / Up / Table of Contents