SQL-запрос для слов (не предложение) - PullRequest
1 голос
/ 13 октября 2011

Я хотел бы запросить один столбец (varchar):

образец datarows:

1) The fox jumps like a foo on my bar
2) Jumpers are not cool
3) Apple introduced iJump

Когда я ввожу поиск критерии, такие как ... jump

Я ожидаю, что получит набор результатов: jumps, Jumpers, iJump (поэтому я не хочу завершатьстрока)

В настоящее время я использую MySQL (я открыт для предложений, пока он открыт) * ​​1020 *

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Поскольку вы используете MySQL, я мог бы предложить посмотреть LIB_MYSQLUDF_PREG .

Эта библиотека с открытым исходным кодом предоставит вам дополнительные функции регулярных выражений, включая функцию PREG_CAPTURE , которая извлекает совпадения регулярных выражений из строки.

Используя эту функцию, вы можете легко создать регулярное выражение для возврата искомого соответствия ... Что-то вроде:

\b\w*jump\w*\b
1 голос
/ 13 октября 2011

Получить любую строку с вашими критериями поиска легко:

SELECT sentence
FROM sentences
WHERE sentence LIKE '%jump%'

Я, вероятно, сделаю все остальное в логике приложения, поскольку выполнение этого в базе данных вам совсем не поможет.

Кроме того, любой метод разбиения строки и ее обработки, вероятно, будет зависеть от базы данных, поэтому вам нужно будет указать, какой из них вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...