使用LIKE“%this%”或“%that%”

时间:2013-07-23 18:35:01

标签: sql select

所以我知道你可以这样做:

SELECT * FROM my_table WHERE
    (column1 LIKE "%this%" OR column1 LIKE "%that%")

但有更快的方法吗?

请注意,我的列是相同的。我是否真的必须为每种情况输入column1 LIKE

2 个答案:

答案 0 :(得分:3)

是的,您可以进行通配符搜索。但是,如果您删除了通配符并仅在thisthat上搜索,那么您可以使用IN

SELECT * FROM my_table 
WHERE column1 IN ('this', 'that')

如果您使用的是SQL Server 2008+或Oracle,则可以使用全文搜索,执行以下操作:

SELECT * FROM my_table 
WHERE CONTAINS(column1, '*this*', '*that*')

答案 1 :(得分:1)

我不确定您使用的是哪种环境,但可能值得一试:

Is there a combination of "LIKE" and "IN" in SQL?