sql多字段模糊搜索查询方法

Q蓝天空 2013-04-19 07:10:51
我用asp写了一个简单的管理小程序,现在想制作一个模糊查询功能。
想要实现的效果是这样的。
字段:地区 时间 姓名 手机 备注
1 北京 2013 王 1888565 你好
2 南京 2013 张 1333636 我好
3 北京 2013 李 166666 2012年小王


想在程序中输入字符串:“北京 王 2012

输出:3 北京 2013 李 166666 2012年

查询结果显示记录中所有字段含有字符串片段信息的记录
说白了,就是想把单条记录的字段数据整合后与字符串进行模糊比较。含有就显示。
这里不考虑程序代码如何编写的情况下
sql查询语句该如何写?谢谢
...全文
262 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
慕容引刀 2014-03-11
  • 打赏
  • 举报
回复


用户在文本框中输入 “金正迷你音箱” 是没有数据的,大家有什么方法实现不
Flyinsky1 2013-04-20
  • 打赏
  • 举报
回复
CREATE TABLE tbmulti
(aid int,
地区 varchar(30),
时间 varchar(30),
姓名 varchar(30),
手机 varchar(30),
备注 varchar(30)
)
insert into tbmulti
select 1,N'北京',N'2013',N'王',N'1888565',N'你好'
union all
select 2,N'南京',N'2013',N'张',N'1333636',N'我好'
union all 
select 3 ,N'北京',N'2013',N'李',N'166666',N'2012年小王'

select * from tbmulti
where
(
地区 like'%北京%'or
时间 like'%北京%'or
姓名 like'%北京%'or
手机 like'%北京%'or
备注 like'%北京%')
and
(
地区 like'%王%'or
时间 like'%王%'or
姓名 like'%王%'or
手机 like'%王%'or
备注 like'%王%')
and
(
地区 like'%2012%'or
时间 like'%2012%'or
姓名 like'%2012%'or
手机 like'%2012%'or
备注 like'%2012%')
Flyinsky1 2013-04-20
  • 打赏
  • 举报
回复
3个(5个or like '%arg[i]%' )的and组合:

where ( 字段1 like '%arg[1]%' or 
	字段2 like '%arg[1]%' or
	字段3 like '%arg[1]%' or
	字段4 like '%arg[1]%' or
	字段5 like '%arg[1]%' )

and (	字段1 like '%arg[2]%' or 
	字段2 like '%arg[2]%' or
	字段3 like '%arg[2]%' or
	字段4 like '%arg[2]%' or
	字段5 like '%arg[2]%' )

and (	字段1 like '%arg[3]%' or 
	字段2 like '%arg[3]%' or
	字段3 like '%arg[3]%' or
	字段4 like '%arg[3]%' or
	字段5 like '%arg[3]%' )
未经测试.
Q蓝天空 2013-04-19
  • 打赏
  • 举报
回复
网上找来的术语,这叫 多字段分词模糊查询

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧