这里是一个动态查询,会做什么你想。
declare @search nvarchar(max)
declare @dyn_sql nvarchar(max)
declare @where nvarchar(max)
set @search = 'car 1000 london'
set @search = rtrim(LTRIM(@search))
set @search = REPLACE(@search,' ',',')
set @where = ''
while (LEN(@search) > 0)
begin
declare @place_holder nvarchar(100)
if((select CHARINDEX(',',@search)) = 0)
begin
set @place_holder = @search
end
else
begin
set @place_holder = SUBSTRING(@search, 0, CHARINDEX(',',@search))
end
set @place_holder = REPLACE(@place_holder,',','')
if((select CHARINDEX(',',@search)) = 0)
begin
set @search = ''
end
set @search = SUBSTRING(@search, CHARINDEX(',',@search)+1, LEN(@search))
set @where = @where+'name like ''%'[email protected]_holder+'%'' or '
set @where = @where+'description like ''%'[email protected]_holder+'%'' or '
set @where = @where+'location like ''%'[email protected]_holder+'%'' or '+CHAR(10)
end
set @where = SUBSTRING(@where,0,len(@where)-3)
set @dyn_sql =
'
select
*
from
Products
where
'[email protected]
exec (@dyn_sql)
那只是为搜索条件 –
而且他是在说存在不翻译为LIKE“%标准%”,而是变成完全匹配的。 –
我想清楚一点。如果一个**描述**包含“这是一辆好车”,那么这个记录应该被提取用于** car **关键字 – Awan