поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

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

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

     
    © 1997-2005 PHP Club Team
    Rambler's Top100