sql like子句有很多值

我的表中有4列.现在因为这更像是一个数据清理任务,所以我对性能并不是那么特别.但我仍然想知道可能的选择.

看下面的查询:

SELECT * FROM dsopi_person_addr_rule ADDR WHERE 
addr.src_address_line1 LIKE '%DEP%' 
OR addr.src_address_line2 LIKE '%DEP%'
OR addr.src_address_line3 LIKE '%DEP%'
OR addr.src_address_line4 LIKE '%DEP%';

与DEP类似,我还有10场比赛.我需要为所有4个地址线重复每个匹配.有没有更好的方法呢?我个人讨厌一遍又一遍地写作.

**更新:以下是答案

SELECT *
FROM dsopi_person_addr_rule ADDR
WHERE regexp_like (UPPER(addr.src_address_line1),      'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG')

最佳答案 您可以尝试
regexp_like功能

点赞