Regexp_Like获取精确的字符串匹配

时间:2018-03-12 18:02:17

标签: sql oracle

如何使用REGEXP_LIKE获得精确的字符串匹配。当我使用下面的sql时,它总是返回' True'当我尝试匹配' SETID_EMPL_CLASS'整个字符串。

select 'True'
from Dual
where REGEXP_like ('SETID_EMPL_CLASS', '(^|;)' || upper('ethnic_grp_cd|empl_type|full_part_time|comp_frequenc|empl_class'));

由于

1 个答案:

答案 0 :(得分:2)

要获得regexp_like的完整字符串匹配(不仅仅是字符串的一部分),您应该将^$添加到备选方案集中:

select 'True'
from Dual 
where REGEXP_like ('SETID_EMPL_CLASS', upper('^(ethnic_grp_cd|empl_type|full_part_time|comp_frequenc|empl_class)$'));