我想通过替换列开头的模式来加入2个表中的2列。
表1:
ABC_somename_ABC
something_XYZ
表2:
somename_ABC
somthing_XYZ
这里我必须在起点而不是在结尾处替换ABC_部分并进行等距连接。在第二种情况下,它不应该替换,因为它没有ABC _
我尝试使用substr,instr函数删除直到第一个下划线。 SUBSTR(列,INSTR(列,' ')+ 1)这将从任何下划线开始,但我希望它只在以ABC 或XYZ _
使用正则表达式REGEXP_SUBSTR(' ABC_somename_ABC'' [^ ] +',1,2)正在替换双方。 我在开始时只有2个模式,必须删除像ABC ,XYZ_ 有人可以帮我这个。
答案 0 :(得分:0)
看起来你只想加入字符串的结尾:
on t1.col like '%' || t2.col
如果你真的想在开头测试“ABC_”:
on (t1.col like 'ABC\_%' and t1.col like '%' || t2.col) or
(t1.col not like 'ABC\_% and t1.col = t2.col)
注意:下划线('_'
)是like
表达式的通配符,因此应该对其进行转义。