sql 查询所有字段只要包含某关键字的记录

2024-11-22 19:33:36
推荐回答(4个)
回答(1):

所有字段?

如果是这样需求的话, 那没简便方法,只能这样写了:

select * from 表
where 字段1 like '%关键字%' or 字段2 like '%关键字%' or 字段3 like '%关键字%' or ...字段n like '%关键字%'

回答(2):

如果你的数据量少就没有影响,太多的话就需要优化数据库了

回答(3):

OR 的连接必须加括号,要不然数据是错误的

回答(4):

我来回答: 一般来说 只要关键字段和关键词 进行 like比较的,而不会全部字段比较。

至于“会不会导致数据库拒绝执行呢?而且还有效率问题”,建议你写个存储过程吧,执行存储。

如:

go
create procedure GetKeyWordRecord @keyWord varchar(20)
as
set @keyWord = '%' + @keyWord + '%'
select * from 你的表
where
你的字段1 like @keyWord or
你的字段2 like @keyWord or
你的字段3 like @keyWord or
你的字段4 like @keyWord or
你的字段5 like @keyWord --- 更多字段省略
go

exec GetKeyWordRecord '关键词'