SQL 列上有字符串
一般使用SELECT * FROM XXX WHERE CCC LIKE '%BBB%'
搜索,如果:字符串为‘香港观光一天’,搜“香港”可以搜到,但客户搜索“香港一天”这种
搜索,上面是无法处理的。
如何解决?搜索‘香港一天’ 也能把列中包含字符串‘香港一天’ 的‘香港观光一天’
作为符合搜索结果列出来?
create function [dbo].[m_fuzzyquery_v1] ( @str nvarchar(2000) ) returns nvarchar(2000) as begin declare @count int,@i int; declare @newchar nvarchar(200),@nn nvarchar(300),@hh nvarchar(200) set @count=len(@str);set @i=1;set @nn=''; while @i<@count+1 begin set @newchar=substring(@str,@i,1)+'%' set @nn=@nn+@newchar; set @i=@i+1; END set @hh='%'+@nn return @hh end declare @table table (connect varchar(30)) insert into @tableselect '香港观光一天' select * from @table where connect like ( select dbo.[m_fuzzyquery_v1]('香港一天')) /* connect------------------------------ 香港观光一天 */