SQL 中跨多列的 Like 语句

Ane*_*aKK 7 sql search sql-like

我正在尝试跨多个列查询类似的语句。我有以下搜索词:“狗”“猫”“兔子”“沙鼠”“豚鼠”“仓鼠”

我需要在“动物”表中搜索这些术语或类似的术语,该表有大约 40 个不同的列。我知道我可以通过做类似的声明

 Select * from animals where [animalscolumn] like ('%dog%') or like ('%cat%') or like ('%gerbil%') or like ('%hamster%') or like ('%guinea pig%')
Run Code Online (Sandbox Code Playgroud)

然而,“animalscolumn”并不是我需要运行“LIKE”语句的唯一列。我必须在大约 40 列中搜索这些术语。有人知道怎么办吗?谢谢!

小智 3

多个like语句不能or直接使用with。您必须使用column namefor 每个like语句。

使用多个,如下所述。

Select * 
from animals 
where 
(
[animalscolumn] like ('%dog%') or 
[animalscolumn] like ('%cat%') or 
[animalscolumn] like ('%gerbil%') or 
[animalscolumn] like ('%hamster%') or 
[animalscolumn] like ('%guinea pig%')
)
Run Code Online (Sandbox Code Playgroud)