SQL:一个表多列模糊查询

2024-12-04 15:44:42
推荐回答(4个)
回答1:

1.我觉得你这样就行了,一般也是这样来实现的
2.对于模糊查询T-SQL有四个通配符
%:包含0个或多个字符
_:匹配指定;
[]:指定范围
[^]:排除范围
3.你考虑的这种空格,可以在查询前,用js正则表达式来过滤。
4.对于稍复杂点的关键词搜索(比如新闻),常用的办法是在数据库中添加一个keyword字段,来配合通配符进行模糊查询或分类查询或热门关键字查询
5.关于复杂点的模糊查询,更好的方法是不用这些通配符来实现,而是通过js来实现(例如输入时产生搜索提示),或其他方法来作,思路是尽量少的对数据库进行操作。

回答2:

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 '%关键字%'

回答3:

落下个字段 ,是这样的 Where 字段 like '%查询值%' or 字段2 like '%查询值%' or 字段3 like '%查询值%'

回答4:

select *
from 表
where 列1 like '%3%' or 列2 like '%3%' or 列3 like '%3%' or 列4 like '%3%'