所以我知道你可以这样做:
SELECT * FROM my_table WHERE
(column1 LIKE "%this%" OR column1 LIKE "%that%")
但是有没有更快的方法来做到这一点?
请注意,我的列是相同的。我真的必须column1 LIKE
为每个条件输入吗?
是的,您可以使用通配符搜索。但是,如果您删除了通配符并仅搜索this
and that
,那么您可以使用IN
:
SELECT * FROM my_table
WHERE column1 IN ('this', 'that')
如果您使用的是 SQL Server 2008+ 或 Oracle,则可以使用全文搜索,执行以下操作:
SELECT * FROM my_table
WHERE CONTAINS(column1, '*this*', '*that*')
我不确定您使用的是什么环境,但可能值得一试: