所以我知道你可以这样做:
SELECT * FROM my_table WHERE
(column1 LIKE "%this%" OR column1 LIKE "%that%")
但有更快的方法吗?
请注意,我的列是相同的。我是否真的必须为每种情况输入column1 LIKE
?
答案 0 :(得分:3)
是的,您可以进行通配符搜索。但是,如果您删除了通配符并仅在this
和that
上搜索,那么您可以使用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)
我不确定您使用的是哪种环境,但可能值得一试: