За последние 24 часа нас посетили 18215 программистов и 1596 роботов. Сейчас ищут 967 программистов ...

как отрицательное число округлить в 0 в mysql?

Тема в разделе "PHP и базы данных", создана пользователем simple, 25 окт 2010.

  1. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    есть потребность в такой операции, как сделать чтобы напримар -1 округлялся в 1 а число 1 в 0, может функция какая нить есть или хитрость, посоветуйте.
     
  2. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    ну в принципе abs переводит отрицательные числа в положительные, но как сделать 1 в 0?
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    о_О никак, петрович!

    кто тебя знает, почему у тебя единица равна нулю. Во всем мире последние несколько тысяч лет это было не так. И весь пхп и все остальные языки программирования тебе единицу нулем не посчитают ни при каком раскладе.

    Что у тебя за грибочковый приход? =)
     
  4. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    гы..да я знаю, просто вот нужно такие преобразования делать в коде =)
    например -1 округлить в ноль можно следующей операцией
    a=-1;
    a=abs(a)+a;
    а воть как енто сделать чтобы и 1 в 0 делала одновременно я недогоню пока
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    if a >-1 AND a < 1
    a = 0
     
  6. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    да нет делать это условием последнее дело, я думал функции какие то есть =) к тому же тут у тебя всегда будет возращать 0 а мне надо чтобы при -1 было 1 а при 1 возращало 0...воть так как то.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    simple
    КАКИЕ могут быть функции чтобы если одно число такое, то второе будет другое. Это не математика и не логика. Это какие-то твои личные правила

    возьми модуль от числа, деленного на десять и округленного а после умноженного на десять обратно =)

    -1
    -1 / 10 = -0,1
    -0,1 округляется до 0
    и ты доволен

    то же самое с единицей

    с двойкой
    с тройкой
    и так до пятерки, которая даст тебе единичку.


    Но ты ж не хочешь никому сказать зачем и где проходят границы твоих приравниваний к нулю

    для таких ситуаций и есть if как раз swich тоже
     
  8. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    simple
    Мсье знает толк в извращениях.
    А, если не секрет, нафига это надо?
     
  9. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    воо, а как проверить таблицу на пустоту, если таблица пустая чтобы лишний раз не делать из нее выборку???
     
  10. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    igordata мне -5 ненадо, есть два входящих числа -1 и 1 и выход 1 и 0 соответственно, ландно я понял что енто не возможно, придется другим путем идти =)
     
  11. asik

    asik Активный пользователь

    С нами с:
    12 июл 2007
    Сообщения:
    211
    Симпатии:
    0
    A(-1) = 1
    A(1) = 0

    1 : 1 - 1 = 0 * -0.5 = 0
    -1: -1 - 1 = -2 * -0.5 = 1

    A(x) = (x - 1) * -0.5
     
  12. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Ипать

    (V = -1)

    вы бы еще синусы приплели :D
     
  13. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    asik не понял, что такое А(-1)? енто функция чтоли такая есть? =)
    А понял, спасибо большое, истина как всегда была рядом.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не понял, если число -1, ты хочешь получить 1?
    если 0, то 0?
    если 1, то 1?
     
  15. asik

    asik Активный пользователь

    С нами с:
    12 июл 2007
    Сообщения:
    211
    Симпатии:
    0
    f(-1) = 1
    f(1 ) = 0
     
  16. asik

    asik Активный пользователь

    С нами с:
    12 июл 2007
    Сообщения:
    211
    Симпатии:
    0
    можно еще так
    select cast((id-1) as boolean) from table1