Алгоритм формирования строки поиска по ключевым словам в базе данных MS SQL

Последние изменения: 25.10.2021

При реализации поиска данных по ключевым словам может возникнуть задача поиска по включению каждого слова или поиска значений, включающих хотя бы одно слово. Для реализации такого поиска необходимо полученную строку #keywords# преобразовать с части строки WHERE для прямого поиска по базе данных.

Ниже приведен пример алгоритма формирования такой строки

""; 
// берем входную строку #keywords# и разбиваем по словам
var t = "#keywords#"; var t2 = t.Split(' ');
// перебираем все слова
foreach(var t3 in t2)
{
if(string.IsNullOrWhiteSpace(t3.Trim())) // пропускаем пустые слова
continue;
// Добавляем OR (должно быть любое из слов) или AND (должны быть все слова), если строка поиска уже не пустая
if(!string.IsNullOrWhiteSpace(r))
r = r + " OR ";
// добавляем к строке поиска. Title - имя поля в базе для поиска
r = r + "Title LIKE (N'%" + t3.Trim() + "%')";
}

 

Помогла ли вам статья?