我的表格中包含由;
分隔的电子邮件地址的列:
TO CC BCC
--------------------------------------------------------------------------------------------------------------------
abc.def@xyz.com;an.yes@xyz.com;no.yes@xyz.com anna.chris@xyz.com;DL_ABC@xyz.com raj.alb@xyz.com;doug.amb@xyz.com
用户提供了一个电子邮件地址作为搜索条件,我必须针对每个列进行查找,以查找任何列具有目标电子邮件地址的行。
有人可以帮助我吗?
我尝试使用reg_exp
,但没有太多经验。
答案 0 :(得分:2)
简单方法:
SELECT * FROM emailtable
WHERE INSTR(';' || to || ';' || cc || ';' || bcc || ';'
,';' || :search_parameter || ';') > 0;
答案 1 :(得分:0)
根据您的要求以及我对您对Jeffery Kemp的回答的评论,我建议您尝试以下方法:
SELECT *
FROM emailtable
WHERE lower(REPLACE ("TO" || ';' || cc || ';' || bcc, ' ', ''))
LIKE '%' || lower(REPLACE (:search_parameter, ' ', '')) || '%'
lower
函数可以帮助我们进行不区分大小写的搜索。 REPLACE
消除了空格。
我希望这能给你一个线索。这是通过to,cc和bcc列搜索电子邮件ID的一部分的最简单方法。请根据您的要求修改WHERE
条件。