ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

MYSQL выборка округленного числа
  #1  
Старый 23.11.2009, 23:33
Аватар для George767
George767
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
Провел на форуме:
553876

Репутация: 81
По умолчанию MYSQL выборка округленного числа

Предположим есть число 56. Из mysql нужно выбрать строку с числом 56, но в этом числе могут стоять цифры после запятой - например, 56.4368. Какой сделать запрос (WHERE xxx='xxx'), что бы выбиралось указанное число, если после запятой идут цифры, которых в запрашиваемом числе нет (узнать заранее числы после запятой нельзя)?

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

  #2  
Старый 24.11.2009, 04:39
Аватар для zEr0r
zEr0r
Познающий
Регистрация: 17.02.2008
Сообщений: 63
Провел на форуме:
118377

Репутация: 83
Отправить сообщение для zEr0r с помощью ICQ
По умолчанию

мм если не ошибаюсь надо юзать LIKE но не как обычно юзают (LIKE '%56%'), а вот так:
LIKE '56%'
 
Ответить с цитированием

  #3  
Старый 24.11.2009, 11:15
Аватар для ChieFSS
ChieFSS
Познающий
Регистрация: 23.11.2006
Сообщений: 34
Провел на форуме:
156100

Репутация: 7
По умолчанию

Цитата:
Сообщение от George767  
Предположим есть число 56. Из mysql нужно выбрать строку с числом 56, но в этом числе могут стоять цифры после запятой - например, 56.4368. Какой сделать запрос (WHERE xxx='xxx'), что бы выбиралось указанное число, если после запятой идут цифры, которых в запрашиваемом числе нет (узнать заранее числы после запятой нельзя)?

PS Оператор LIKE не подойдет, потому что он может вернуть число 35.64562. Целое число 56 должно быть в начале, перед запятой.
SELECT .... WHERE xxx = ROUND('xxx')

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

  #4  
Старый 24.11.2009, 15:43
Аватар для max_rebel
max_rebel
Постоянный
Регистрация: 18.10.2007
Сообщений: 461
Провел на форуме:
577061

Репутация: 66
Отправить сообщение для max_rebel с помощью ICQ
По умолчанию

сделай запрос к базе, занеси таблицу в массив, из массива вытащи значение где лежит 56.***, округли array['?'] до целого числа. и если целое число равно 56 то вот оно и есть
 
Ответить с цитированием

  #5  
Старый 24.11.2009, 16:04
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
RLIKE "[^0-9]+56\\.[0-9]+";
?
 
Ответить с цитированием

  #6  
Старый 26.11.2009, 02:02
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

George767 ChieFSS в общем то ответил:

SELECT num, some_column FROM table WHERE round(num)=12
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #7  
Старый 26.11.2009, 09:36
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Округление не поможет, если искомое число находится где-то внутри строки типа
Код:
Current progress is 56.4368%
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита БД MySQL от SQL инъекций с помощью GreenSQL xcedz Администрирование 5 02.04.2009 21:46
SQL injection в MySql сервере версии 3,x bandera Чужие Статьи 3 04.06.2006 16:17
Общие Рекомендации Защиты (MySQL и SQL Web-интерфейс) k00p3r Чужие Статьи 0 13.06.2005 11:22
Защищаем MySql. Шаг за шагом k00p3r Чужие Статьи 0 13.06.2005 11:18
SQL инъекция в сервере MySQL k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ