SQL中如果进行模糊查询整个表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中如果进行模糊查询整个表相关的知识,希望对你有一定的参考价值。
我想做关键字搜索 搜索的关键字 不是针对某个字段而是真对正个表的所有字段
如果你说对每个字段都进行like就不用回答了 如果是1000个字段呢那我不是要写死
create proc 名
@表名 varchar(100),
@参数 varchar(100)
as
declare @a varchar(8000)
set @a=''
select @a=@a+' and '+name+' like ''%'+@参数+'%''' from syscolumns where id=object_id(@表名)
set @a=right(@a,len(@a)-4)
exec('select * from '+@表名+' where '+@a)
go 参考技术B 什么地方会要求对针对整张表的所有字段查询?没那个必要,而且效率极低.如果你是要找某张表的话可以到master数据库的sysobjects表中查到. 参考技术C 怎么不会用到 你难道你没用过关键字搜索吗 全文搜索
就是在一个文本框里输入任何字符 到所有字段去匹配 参考技术D 用存储过程
或者视图
SQL:一个表多列模糊查询
表
列1 列2 列3 列4
12ab 23bc 13ac 12bc
多列进行模糊查询,sql语句怎么写
比如:关键字3,把有3的列都显示出来
2.对于模糊查询T-SQL有四个通配符
%:包含0个或多个字符
_:匹配指定;
[]:指定范围
[^]:排除范围
3.你考虑的这种空格,可以在查询前,用js正则表达式来过滤。
4.对于稍复杂点的关键词搜索(比如新闻),常用的办法是在数据库中添加一个keyword字段,来配合通配符进行模糊查询或分类查询或热门关键字查询
5.关于复杂点的模糊查询,更好的方法是不用这些通配符来实现,而是通过js来实现(例如输入时产生搜索提示),或其他方法来作,思路是尽量少的对数据库进行操作。 参考技术A select decode(instr(列1,关键字),0,'',列1) 列1,decode(instr(列2,关键字),0,'',列2) 列2,
decode(instr(列3,关键字),0,'',列3) 列3,decode(instr(列4,关键字),0,'',列4) 列4
from xx
where 列1||列2||列3||列4 like '%关键字%'本回答被提问者和网友采纳 参考技术B 落下个字段 ,是这样的 Where 字段 like '%查询值%' or 字段2 like '%查询值%' or 字段3 like '%查询值%' 参考技术C select *
from 表
where 列1 like '%3%' or 列2 like '%3%' or 列3 like '%3%' or 列4 like '%3%'
以上是关于SQL中如果进行模糊查询整个表的主要内容,如果未能解决你的问题,请参考以下文章