На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > SQL, деление на 0
      При выборке БД необходимо задать условие типа
      "AND Area/Price >=1". Но Price может быть равно нулю и тогда выдается ошибка.

      Выражение "AND (Area<>0 AND Price<>0) AND Area/Price >=1" не помогает.

      MS Access, ODBC, MS VC6.
        А если сделать так
        AND Area >=Price ;D ;D ;D
          Там-же,
          "Numeric value out of range(null)"
            Незнаю SQL стандарт ли это, вообщем есть две функции в Oracle первая
            DECODE( Field, OrigValue, Result, OrigValue2, Result2 итп ) - что то типа switch + case в Си

            и

            NVL( Field, Result ) Она заменяет NULL в поле Filed на Result

              Я вот тута придумал следующее:

              "AND Area<>0 AND Price<>0 AND Area/(Price+0.000001) >1 "
              Тут деление на ноль практичеки невозможно, только если Price= -0.000001. Теряется немного точность, но это не страшно.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0532 ]   [ 16 queries used ]   [ Generated: 28.04.24, 04:02 GMT ]