информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСтрашный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Логично, черт побери!)) Спасибо, отличная идея, воспользуюсь. 20.06.12 15:26  Число просмотров: 3044
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
Но лучше не LIKE ... OR LIKE..., а REGEXP '[^[:digit:]]55[^[:digit:]]'
<programming>
[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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach