SQL-поиск для содержащих термины - PullRequest
3 голосов
/ 22 апреля 2010

Если можно найти в таблице записи, в названии которых содержится поисковый запрос?

Спасибо

Ответы [ 3 ]

6 голосов
/ 22 апреля 2010
SELECT * FROM `my_table` WHERE name LIKE '%my_search_term%'

или

SELECT * FROM `my_table` WHERE CONTAINS(name, 'search')

Но имейте в виду, что утверждение LIKE очень дорогое. Если вы ищете много текста, вы можете использовать Sphinx для примера.

2 голосов
/ 22 апреля 2010

Конечно. Существует предикат CONTAINS:

... WHERE CONTAINS(name, 'search-term')

Существует также оператор LIKE, и некоторые СУБД допускают регулярные выражения.

1 голос
/ 22 апреля 2010

Звучит так, как будто вы ищете LIKE

-- Get all people with phone numbers starting with 920
SELECT * FROM People WHERE PhoneNumber LIKE '920%'
...