MYSQL выборка округленного числа

Discussion in 'PHP' started by George767, 23 Nov 2009.

  1. George767

    George767 Elder - Старейшина

    Joined:
    10 Jan 2006
    Messages:
    129
    Likes Received:
    25
    Reputations:
    -1
    Предположим есть число 56. Из mysql нужно выбрать строку с числом 56, но в этом числе могут стоять цифры после запятой - например, 56.4368. Какой сделать запрос (WHERE xxx='xxx'), что бы выбиралось указанное число, если после запятой идут цифры, которых в запрашиваемом числе нет (узнать заранее числы после запятой нельзя)?

    PS Оператор LIKE не подойдет, потому что он может вернуть число 35.64562. Целое число 56 должно быть в начале, перед запятой.
     
  2. zEr0r

    zEr0r Elder - Старейшина

    Joined:
    17 Feb 2008
    Messages:
    67
    Likes Received:
    28
    Reputations:
    14
    мм если не ошибаюсь надо юзать LIKE но не как обычно юзают (LIKE '%56%'), а вот так:
    LIKE '56%'
     
  3. ChieFSS

    ChieFSS Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    35
    Likes Received:
    2
    Reputations:
    0
    SELECT .... WHERE xxx = ROUND('xxx')

    ROUND() - округление числа.
    Если надо 100% знать в какую сторону округлять, то TRUNCATE() - до меньшего, FLOOR() - до большего.
     
  4. max_rebel

    max_rebel Elder - Старейшина

    Joined:
    18 Oct 2007
    Messages:
    460
    Likes Received:
    31
    Reputations:
    0
    сделай запрос к базе, занеси таблицу в массив, из массива вытащи значение где лежит 56.***, округли array['?'] до целого числа. и если целое число равно 56 то вот оно и есть
     
  5. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    RLIKE "[^0-9]+56\\.[0-9]+";
    
    ?
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    George767 ChieFSS в общем то ответил:

    SELECT num, some_column FROM table WHERE round(num)=12
     
    _________________________
  7. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Округление не поможет, если искомое число находится где-то внутри строки типа
    Code:
    Current progress is 56.4368%
    
     
Loading...
Similar Threads - MYSQL выборка округленного
  1. GAiN
    Replies:
    3
    Views:
    7,432