![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Pokoinik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 17.3.2007 Где: /dev/null Репутация: нет Всего: 3 |
есть поле таблицы в которой хранится инфа вида 1,2,35,546,65,3,345
мне, к примеру нужно вырбрать все строки содержащие число 3 Это сообщение отредактировал(а) Pokoinik - 27.11.2007, 16:45 -------------------- ICQ: 490-993 Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!! Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают. Делай или не делай! Никаких попробую! Йода (Yoda), мастер-джедай |
|||
|
||||
igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
если поле текстовое, то используйте LIKE:
-------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
igorold, я так понимаю, что автору темы надо не цифру "3" в любом месте, а чтоб именно было ",3," - то есть отделенное от остальных число. т.е. приведенное тобой условие сработает и для строки "33,78,13,23". кроме того, работать с шаблонами("%" при использовании like) - заведомо медленнее, чем использовать locate.
т.е. по требуемой задаче подойдет такой вариант:
Но вообще-то, если подобный поиск будет проихсодить довольно часто - было бы разумнее привести структуру БД к нормальной форме. Добавлено через 2 минуты и 42 секунды пояснение к коду: сначала мы добавляем к строке спереди исзади по запятой, чтоб строка была однотипной, независимо от того - вначале находится искомое число или в середине(в начальных условиях первое число в строке отделено запятой только с одной стороны, последнее число - тоже только с одной, а остальные числа отделены запятыми с обоих сторон; преобразованная строка - CONCAT(',',CONCAT(`some_field`,',')) - избавлена от того недостатка: все числа отделены от соседей с обоих сторон). После преобразование мы можем искать необходимое нам число, указав, что справа и слева отнего обязательно должны быть запятые. Добавлено через 2 минуты и 59 секунд впрочем, нормализация в данном случае должна рулить... |
|||
|
||||
Pokoinik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 17.3.2007 Где: /dev/null Репутация: нет Всего: 3 |
skyboy, совершенно верно...
+1 -------------------- ICQ: 490-993 Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!! Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают. Делай или не делай! Никаких попробую! Йода (Yoda), мастер-джедай |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |