我的表中有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功能