Запрос на точное совпадение строки в SQL - PullRequest
5 голосов
/ 28 июня 2011

Я хочу запросить точное совпадение строки из таблицы базы данных.

Когда я пишу запрос как

select description from tproduct where description like '%diamond%'

, он запускается и выдает результаты в виде wild card запроса.Например, у меня есть ringdiamond, diamondmaster и т. Д.

Но я хочу получить только «алмаз».

Для этого я сделал так:

select description from tproduct where description = 'diamond'

Но этовыдает ошибку:

Ошибка: Неизвестный столбец 'diamond' в 'фразе where'

Столбец описания содержит:

This bracelet is composed of round diamond surrounded by milgrain detailing. Its secure setting prevents it from twisting and ensures it will sit impeccably on her wrist.


This stylish design is the perfect accessory for the day or evening. Akoya cultured pearls are lined up by a string of bezel-set round diamond.

Ответы [ 5 ]

9 голосов
/ 28 июня 2011

Если я правильно понимаю вопрос, вы хотите сопоставить «бриллиант», когда это отдельное слово, а не часть другого слова, такого как «бриллиант». Вы можете сделать что-то вроде описания SELECT * FROM tproduct WHERE, например "% diamond%", и это будет соответствовать всем записям, в которых "diamond" окружен пробелами.

Но это не сработает. Не было бы записей, где описание начинается с "Diamond" или где есть запятая или точка после "Diamond"

Вы должны соответствовать регулярному выражению. Вы можете указать границы слов с этим:

select * from t2 where description regexp '[[:<:]]diamond[[:>:]]';

См. Эту страницу для получения дополнительной информации о регулярных выражениях MySQL: http://dev.mysql.com/doc/refman/5.1/en/regexp.html

3 голосов
/ 28 июня 2011

Вы можете использовать регулярное выражение со специальным шаблоном для границ слов.

select description from tproduct 
where description regexp '[[:<:]]diamond[[:>:]]'

См. REGEXP.

0 голосов
/ 14 ноября 2017

Для SQL Server: Описание
ВЫБЕРИТЕ описание ИЗ tproduct ГДЕ описание = 'diamond' COLLATE SQL_Latin1_General_CP1_CS_AS

0 голосов
/ 12 ноября 2014
select description from tproduct where description = 'diamond'
0 голосов
/ 28 июня 2011
select description from tproduct where description like 'diamond'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...