尝试在列中搜索给定的字符串,并希望显示该列中的任何位置。
Declare @searchText nvarchar(30) = 'an'
SELECT TOP 10
CASE WHEN LEN(LastName) > 5 THEN LEFT(LastName,5) + '..'
ELSE LastName end as DisplayName,
LastName as FullName
From [dbo].[Employees]
WHERE
LastName like '%' + @searchText + '%'
GROUP BY
CASE WHEN LEN(LastName) > 5 THEN LEFT(LastName,5) + '..'
ELSE LastName end,
LastName
我在LastName列上有一个非聚集索引,但正如预期的那样,它没有被使用,因为领先&落后%。我理解FullText搜索是最好的选择。除此之外还有其他方法可以优化这个脚本吗?