Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL, выбор подстроки [D7, FireBird 1.5]


Ivan78 ©   (2005-09-15 00:19:00) 

Есть поле типа VARCHAR, в которм хранится информация вида
1,2,3,7,11,21,33,72
как сформировать запрос который будет выбирать записи у которых в этом поле содержится например цифра 2, именно 2 а не 21, 72 и т.д.


}{ander   (2005-09-15 17:12:00) [1]

2 Val ©   (15.09.05 17:03) [9]

Поэтому и написал PS :-)

А вообще, жалко, что птица не поддерживает регулярные выражения: написал бы что-то типа
like '\b2\b'

и все бы нашлось :-)


Val   (2005-09-15 17:03:00) [2]

>[8] }{ander ©   (15.09.05 16:55)
это все пагубное влияние нумерологии - на самом деле, эта строка может означать что угодно :)


}{ander   (2005-09-15 16:55:00) [3]

2 Val ©   (15.09.05 16:34) [7]

Тут другое - эти номера явно означают какие-то сущности. И получается, что группа этих сущностей заносится в одно поле :-(

PS: это лишь мое предположение о том, что это за номера. Будет больше информации - можно будет сказать что-то более конкретное.


Val   (2005-09-15 16:34:00) [4]

> [6] }{ander ©   (15.09.05 16:32)
символы строки - тоже однотипны.


}{ander   (2005-09-15 16:32:00) [5]

Я, конечно, глубоко извиняюсь...
Но есть маленький вопрос: а находится ли эта таблица в 1-ой нормальной форме? Потому как куча однотипных значений в одном поле!


Виталий Панасенко   (2005-09-15 14:32:00) [6]


> Anatoly Podgoretsky ©   (15.09.05 14:05) [4]
> Не надо LIKE просто = '2'

Спорный ответ.. Человек спросил "цифра", а не "число".. а это разные вещи как-никак.. Хотя он, похоже, все-таки имел ввиду значение поля, т.е. число...:-))) И ответ уже не спорный..:-)))


Anatoly Podgoretsky   (2005-09-15 14:05:00) [7]

Не надо LIKE просто = '2'


Ильш   (2005-09-15 06:07:00) [8]

лучше хранить в таком виде
,1,2,3,7,11,21,33,72, или же не запятые а точки использовать
тогда выбока будет проще простого
LIKE '%,2,%'


Ivan78   (2005-09-15 03:05:00) [9]

Спасибо, только не работает последний Like, т.е если 2 - последняя цифра в этом поле!


isasa   (2005-09-15 01:54:00) [10]

... LIKE '2,%' OR LIKE '%,2,%' OR LIKE '%,2' ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо