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


В MySQL можно применять обычные арифметические операторы. Следует иметь в виду, что если оба аргумента являются целыми числами, то при использовании операторов -, + и * результат вычисляется с точностью BIGINT (64 бита). Если один из аргументов - беззнаковое целое число, а второй аргумент - также целое число, то результат будет беззнаковым целым числом. Функции приведения типов.

  • +

    Сложение:

    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!

Навигация