Конференция "Базы" » Поиск текста в строках SQL сервера [D7, Firebird]
 
  • Junior (04.03.11 09:43) [0]
    SQL операторы LIKE и CONTAINING могут найти любую часть слова в текстовом поле таблицы. А как в языке SQL написать, что-бы было найдено целое слово, а не часть?
    Такого оператора не существует?
  • Inovet © (04.03.11 09:51) [1]
    > [0] Junior   (04.03.11 09:43)
    > Такого оператора не существует?

    =
  • Кщд (04.03.11 10:07) [2]
    Junior   (04.03.11 09:43)  
    like 'слово %'
    or like '% слово'
    or like '% слово %'
  • Кщд (04.03.11 10:08) [3]
    и, конечно, =
  • Junior (04.03.11 10:10) [4]

    > =

    ??... Разве оператор "=" применяется не ко всему полю?..
    Например, в таблице есть поле TEXT, и в каждой записи - в этом поле занесено какое-то предложение, и требуется узнать, в какой из записей предложение содержит слово "мама".
    И как тогда применить "=" ? Написать:
    select * from TABLE where TEXT = 'мама'
    Но ведь этот запрос найдёт записи, в которых целиком текстовое поле = "мама", а хотелось бы, что-бы искалось, какие записи содержат это слово.
    Или "=" можно употребить как-то по другому?..
  • Junior (04.03.11 10:34) [5]

    > like 'слово %'

    Такой "приём" не сможет найти слова, после которых написаны запятая, точка или любой другой знак...
  • sniknik © (04.03.11 10:36) [6]
    >> like 'слово %'

    > Такой "приём" не сможет найти слова, после которых написаны запятая, точка или любой другой знак...
    like 'слово[ ,.]%'
    ну или как там по правильному...
  • Плохиш © (04.03.11 10:40) [7]

    > Junior   (04.03.11 10:34) [5]

    Прочитать описание используемой базы данных не пробовал? Или вы выше этого?
  • Junior (04.03.11 10:49) [8]

    > Прочитать описание используемой базы данных не пробовал?
    >  Или вы выше этого?

    Извините... В изучении Firebird в основном опирался на книгу Бондаря, где не встретил этой темы - поиска слов в тексте...
  • Кщд (04.03.11 10:50) [9]
    >Junior   (04.03.11 10:34) [5]
    в fb - напр., replace
    или найти UDF, реализующую regexp
  • Виталий Панасенко (14.03.11 10:11) [10]
    В 2,5 уже есть встроенные регулярные выражения
 
Конференция "Базы" » Поиск текста в строках SQL сервера [D7, Firebird]
Есть новые Нет новых   [134431   +15][b:0][p:0]