类似SQL中多列的语句

时间:2017-03-06 16:27:54

标签: sql search sql-like

我试图跨多个列查询like语句。我有以下搜索字词: '狗' '猫' '兔' '沙鼠' '豚鼠' '仓鼠'

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

做同样的声明
 Select * from animals where [animalscolumn] like ('%dog%') or like ('%cat%') or like ('%gerbil%') or like ('%hamster%') or like ('%guinea pig%')
然而,' animalscolumn'我不是唯一需要运行' LIKE'声明。我必须在大约40列中搜索这些术语。谁会碰巧知道怎么样?谢谢!

2 个答案:

答案 0 :(得分:2)

多个like语句不能直接与or一起使用。您必须为每个column name语句使用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%')
)

答案 1 :(得分:0)

如果你想找一组数字你可以用IN

SELECT * 
FROM tableName
WHERE columnId IN (154,156,133,157,119)