`
xiaoer_1982
  • 浏览: 1817284 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于前台模糊查询处理实例

阅读更多

---------------------------------
--
Author: htl258(Tony)
--
Date : 2009-07-31 22:23:13
--
-------------------------------
--
> 生成测试数据表:tb

If not object_id('[tb]') is null
Drop table [tb]
Go
Create table [tb]([TEXT] nvarchar(4))
Insert tb
Select '一大颗树' union all
Select '大中华' union all
Select '百年树木'
Go
--Select * from tb

-->SQL查询如下:
create function f_getstr(@s nvarchar(200))
returns nvarchar(4000)
as
begin
declare @r nvarchar(4000)
while len(@s)>0
begin
set @r=isnull(@r+'%','')+left(@s,1)
set @s=stuff(@s,1,1,'')
end
return @r
end
go

declare @dashu char(4)
set @dashu='大树'
select *
from tb
where [TEXT] like '%'+ dbo.f_getstr(@dashu)+'%'

/*
TEXT
----
一大颗树

(1 行受影响)
*/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics