鍍金池/ 問答/數(shù)據(jù)庫/ sql中如何實現(xiàn)like多個通配字符?

sql中如何實現(xiàn)like多個通配字符?

有一個問題,想取某個字段中匹配多種字符的記錄,怎么辦?
select *
from actor
where last_name like ('%DAVI%','MOSTEL%','ABC','kkk%aa')
以上sql語句是錯誤的,like不支持多個字符串,怎樣才能實現(xiàn)呢?
謝謝

回答
編輯回答
愛是癌

如果 patterns 不是很多,用

last_name LIKE patt1 OR last_name LIKE patt2 ...

就好。如果 patterns 很多,可以把 patterns 存在一個表 patterns(pat) 里面,然后:

SELECT * FROM actor
 WHERE EXISTS (
       SELECT 1 FROM patterns 
        WHERE actor.last_name LIKE patterns.pat)
2018年3月23日 16:31
編輯回答
孤慣

如果你用的是oracle,可以使用正則函數(shù),regexp_like

2018年5月6日 16:28
編輯回答
女流氓

用OR拼接起來, where last_name like '%DAVI%' OR last_name like 'MOSTEL%' OR ...

2017年10月20日 13:56