有一个问题,想取某个字段中匹配多种字符的记录,怎么办?
select *
from actor
where last_name like ('%DAVI%','MOSTEL%','ABC','kkk%aa')
以上sql语句是错误的,like不支持多个字符串,怎样才能实现呢?
谢谢
有一个问题,想取某个字段中匹配多种字符的记录,怎么办?
select *
from actor
where last_name like ('%DAVI%','MOSTEL%','ABC','kkk%aa')
以上sql语句是错误的,like不支持多个字符串,怎样才能实现呢?
谢谢
如果 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)
2 回答7.4k 阅读✓ 已解决
2 回答6.6k 阅读✓ 已解决
1 回答5.2k 阅读✓ 已解决
1 回答5k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
用OR拼接起来, where last_name like '%DAVI%' OR last_name like 'MOSTEL%' OR ...