![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск текста в строках SQL сервера [D7, Firebird]
Junior © (2011-03-04 09:43:00)SQL операторы LIKE и CONTAINING могут найти любую часть слова в текстовом поле таблицы. А как в языке SQL написать, что-бы было найдено целое слово, а не часть?
Такого оператора не существует?
Виталий Панасенко (2011-03-14 10:11:00) [1]В 2,5 уже есть встроенные регулярные выражения
Кщд (2011-03-04 10:50:00) [2]>Junior (04.03.11 10:34) [5]
в fb - напр., replace
или найти UDF, реализующую regexp
Junior (2011-03-04 10:49:00) [3]
> Прочитать описание используемой базы данных не пробовал?
> Или вы выше этого?
Извините... В изучении Firebird в основном опирался на книгу Бондаря, где не встретил этой темы - поиска слов в тексте...
Плохиш (2011-03-04 10:40:00) [4]
> Junior (04.03.11 10:34) [5]
Прочитать описание используемой базы данных не пробовал? Или вы выше этого?
sniknik (2011-03-04 10:36:00) [5]>> like 'слово %'
> Такой "приём" не сможет найти слова, после которых написаны запятая, точка или любой другой знак...
like 'слово[ ,.]%'
ну или как там по правильному...
Junior (2011-03-04 10:34:00) [6]
> like 'слово %'
Такой "приём" не сможет найти слова, после которых написаны запятая, точка или любой другой знак...
Junior (2011-03-04 10:10:00) [7]
> =
??... Разве оператор "=" применяется не ко всему полю?..
Например, в таблице есть поле TEXT, и в каждой записи - в этом поле занесено какое-то предложение, и требуется узнать, в какой из записей предложение содержит слово "мама".
И как тогда применить "=" ? Написать:
select * from TABLE where TEXT = 'мама'
Но ведь этот запрос найдёт записи, в которых целиком текстовое поле = "мама", а хотелось бы, что-бы искалось, какие записи содержат это слово.
Или "=" можно употребить как-то по другому?..
Кщд (2011-03-04 10:08:00) [8]и, конечно, =
Кщд (2011-03-04 10:07:00) [9]Junior (04.03.11 09:43)
like 'слово %'
or like '% слово'
or like '% слово %'
Inovet (2011-03-04 09:51:00) [10]> [0] Junior (04.03.11 09:43)
> Такого оператора не существует?
=