-
SQL операторы LIKE и CONTAINING могут найти любую часть слова в текстовом поле таблицы. А как в языке SQL написать, что-бы было найдено целое слово, а не часть? Такого оператора не существует?
-
> [0] Junior (04.03.11 09:43) > Такого оператора не существует?
=
-
Junior (04.03.11 09:43) like 'слово %' or like '% слово' or like '% слово %'
-
и, конечно, =
-
> =
??... Разве оператор "=" применяется не ко всему полю?.. Например, в таблице есть поле TEXT, и в каждой записи - в этом поле занесено какое-то предложение, и требуется узнать, в какой из записей предложение содержит слово "мама". И как тогда применить "=" ? Написать: select * from TABLE where TEXT = 'мама' Но ведь этот запрос найдёт записи, в которых целиком текстовое поле = "мама", а хотелось бы, что-бы искалось, какие записи содержат это слово. Или "=" можно употребить как-то по другому?..
-
> like 'слово %'
Такой "приём" не сможет найти слова, после которых написаны запятая, точка или любой другой знак...
-
>> like 'слово %'
> Такой "приём" не сможет найти слова, после которых написаны запятая, точка или любой другой знак... like 'слово[ ,.]%' ну или как там по правильному...
-
> Junior (04.03.11 10:34) [5]
Прочитать описание используемой базы данных не пробовал? Или вы выше этого?
-
> Прочитать описание используемой базы данных не пробовал? > Или вы выше этого?
Извините... В изучении Firebird в основном опирался на книгу Бондаря, где не встретил этой темы - поиска слов в тексте...
-
>Junior (04.03.11 10:34) [5] в fb - напр., replace или найти UDF, реализующую regexp
-
В 2,5 уже есть встроенные регулярные выражения
|