у меня есть один запрос на выборку для поиска, мой @SearchText может состоять из нескольких словSQL: Поиск текста, который содержит в массивах
Я хочу, чтобы отделить слова в массив и выбрать, если какой-нибудь текст содержит мой поиск текст
Запрос:
ALTER PROCEDURE [dbo].[myStoreProcedure]
@SearchText varchar(100)
AS
BEGIN
SELECT * FROM t0
WHERE
ISNULL(@SearchText, '')='' OR t0.title LIKE '%' [email protected] + '%')
Теперь я хочу: если искать строку «адам Смит» или «кузнец адам» результат должен быть такими же
H ой я могу конвертировать мой @SearchText в массиве и вытяжных строки из table- t0 где заголовок содержит мой @SearchText в любом порядке
SQL не имеет «массивы». SQL имеет таблицы со строками. Таким образом, вы хотите разделить ваш '@ SearchText' и поместить каждое слово в отдельную строку временной таблицы, а затем выполнить поиск значений столбца базы данных для любой комбинации содержимого этой временной таблицы. При этом вам, вероятно, будет лучше использовать возможности полнотекстового поиска SQL Server. – stakx