информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsЗа кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[mysql] Занимаюсь любимым ночным делом - туплю) 20.06.12 02:41  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
Дано: мускул, некоторая таблица с полем, содержащим строку с произвольным количеством чисел, разделенных некоторым разделителем (может быть пробел, запятая, точка с запятой).
Нужно: выбрать все строки таблицы, содержащие определенное число в этом поле. Соответствие должно быть точным, т.е. если нужно, чтобы в строке было 55, то строки типа "555,255,123455431" должны игнорироваться.
Вопрос: можно ли это сделать одним запросом (простым или сложным - все равно) и, если да, то как?
очевидный вариант — обрамлять значения разделителями. то есть строка "1,2,3" неверна. нужно — ",1,2,3,". Тогда простой Like "%,ЧтоИщу,%" даст искомое. А если разделителей много — то Like or Like or like с нужными. 20.06.12 12:09  
Автор: kstati <Евгений Борисов> Статус: Elderman
Отредактировано 20.06.12 12:12  Количество правок: 1
<"чистая" ссылка>
Логично, черт побери!)) Спасибо, отличная идея, воспользуюсь. 20.06.12 15:26  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
Но лучше не LIKE ... OR LIKE..., а REGEXP '[^[:digit:]]55[^[:digit:]]'
выбрать зпт55зпт юнион всё что начинается с 55зпт юнион всё что кончается на зпт55 20.06.12 10:02  
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 20.06.12 10:36  Количество правок: 2
<"чистая" ссылка>
up: а, блин... разделители разные...
Тогда то же самое, только не зпт55зпт, а rlike'[, ;]55[, ;]' (http://kbss.ru/blog/bd_mysql/2.html, сорри, с mysql не работал, за синтаксис не отвечаю)
Спасибо, с регулярками в мускуле я знаком. Все упиралось в отсутствие разделителей в начале и конце строки) 20.06.12 15:32  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
Но додуматься, млин, добавить их туда было не судьба))
> up: а, блин... разделители разные...
> Тогда то же самое, только не зпт55зпт, а rlike'[, ;]55[,
> ;]' (http://kbss.ru/blog/bd_mysql/2.html, сорри, с mysql не
Ага, примерно тоже я выше написал, только наоборот)
> работал, за синтаксис не отвечаю)
Не-не, синтаксис правильный.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach