【发布时间】:2017-07-26 14:54:26
【问题描述】:
我正在尝试跨多个列查询 like 语句。我有以下搜索词: '狗' '猫' '兔子' '沙鼠' '豚鼠' '仓鼠'
我需要在“动物”表中搜索这些术语或类似这些术语,该表有大约 40 个不同的列。我知道我可以通过
来做类似的声明 Select * from animals where [animalscolumn] like ('%dog%') or like ('%cat%') or like ('%gerbil%') or like ('%hamster%') or like ('%guinea pig%')
但是,“animalcolumn”并不是我需要在其中运行“LIKE”语句的唯一列。我必须在大约 40 列中搜索这些术语。有人会碰巧知道怎么做吗?谢谢!
【问题讨论】:
-
您使用的是什么 DBMS?
-
你可以使用这样的临时表:stackoverflow.com/a/1387797/7667467
-
这是一次性任务还是功能的一部分?对于一次性任务,我会在我的文本编辑器中使用复制粘贴/上下文替换来编写包含 240 个子句的查询,并在一次性任务完成后将其丢弃。对于一项功能,我会研究您的数据库的全文搜索功能,或者可能会在您的应用程序中加入类似 ElasticSearch 的功能。