我有两个字符串(varchar2),我想比较它们,就像JAVA的匹配方法一样。我有两个可能的例子:' GC'将匹配GC'和' GC_DE'将匹配GC *'。我已经使用过REGEXP_LIKE
但是这种方法导致了一个问题,因为下一个条件为真 - REGEXP_LIKE ('ABVCDRC-OM', 'CB*')
,即使'ABVCDRC-OM'
不是以CB
开头也是如此。有没有办法做到这一点?
详细信息:T_COUNTRY
包含'GC_DE', 'GC_GB', 'GC_GE', 'GC_RO'
等条目。我想显示所有记录,但是按T_FILTER ('GC_R*')
的条目进行过滤。这些条目并不总是像GC一样。我也可以使用OC_或GV等,具体取决于用户输入。所以我需要比较没有固定值的db字段。使用select * ...其中REGEXP_LIKE (entity_id, filter_id)
无法解决我的问题。
答案 0 :(得分:0)
我会使用例如REGEXP_LIKE
但我会将正则表达式更准确地定义为'^GC_[A-Z]{2}$'
。这将确保只匹配GC_xx
个字符串。
答案 1 :(得分:0)
Like(%GC%)应该按您需要的方式工作。
when T_FILTER like (%GC%)
会为您提供GC中的所有内容。