Поиск “целого слова соответствует” в MySQL

Возможно, вы нашли это сами, но вот ссылка https://docs.microsoft.com/en-us/dotnet/api/system.net.http.winhttphandler?view=dotnet-plat-ext- 2,1

71
задан mike nelson 26 March 2011 в 18:31
поделиться

4 ответа

Можно использовать REGEXP и [[:<:]] и [[:>:]] пограничные маркеры слова:

SELECT *
FROM table 
WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'
145
ответ дан LukeH 24 November 2019 в 12:53
поделиться

Можно использовать like с подстановочным маркером для ловли возможностей (в запуске, в конце, в середине, и один), что-то вроде этого должно быть достаточным:

выбор и тому подобное, где столбец как 'избавленный %' или столбец как '%, избавленный' или столбец как '%, избавляют %' или колонну =, 'избавил'

5
ответ дан paxdiablo 24 November 2019 в 12:53
поделиться
select * from table where Locate('rid ', FieldToSearch) > 0 
      or Locate(' rid', FieldToSearch) > 0

Это обработает открытие, избавленное, где ему предшествует или сопровождает пространство, Вы могли расширить подход для принятия во внимание.?! и так далее, не изящный, но легкий.

1
ответ дан MrTelly 24 November 2019 в 12:53
поделиться

Это - лучший ответ, с которым я подошел сам до сих пор:

SELECT * FROM table 
WHERE keywords REGEXP '^rid[ $]' OR keywords REGEXP ' rid[ $]'

я упростил бы его до:

SELECT *
FROM table
WHERE keywords REGEXP '[^ ]rid[ $]'

, но [^] имеет особое значение "НЕ пространство", а не "начало строки или пространство".

, Как REGEXP выдерживает сравнение с несколькими, ЛЮБЯТ условия? (Не то, чтобы производительность имеет значение в этом приложении.)

1
ответ дан Oddthinking 24 November 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: