![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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' ...