2016-05-11 6 views
1

В нашей базе данных PostgreSQL у нас есть поле Описание. Как вы можете догадаться, это описание содержит много текста, и мы хотели бы заглянуть внутрь этих описаний, чтобы найти определенное слово.Как выбрать слово в текстовом запросе SQL?

Мы пытались и содержит функцию CHARINDEX, но оба не работают ...

Любая идея, как мы можем решить эту проблему?

спасибо!

Лука

+0

Вы пробовали 'LIKE':' SELECT * FROM table WHERE Описание LIKE '% yourword%'; '[Здесь страница Postgresql по сопоставлению с образцом] (http://www.postgresql.org/docs/current/static /functions-matching.html) – JNevill

ответ

0

Вы можете использовать регулярные выражения с маркерами разделителей слов:

select * from table 
where description ~ ('\m' || 'yourword' || '\M'); 

Использование ~* вместо ~ для нечувствителен к регистру поиска.

Обратите внимание, что использование описания LIKE '% yourword%', как предлагает @JNevill, найдет ваше слово в других словах, например. 'Jean-Luc Picard' LIKE '%car%' - это правда.

Смежные вопросы