我正在尝试加入两个oracle数据库表,其中要连接的列包含稍微不同的数据。
例如,表A的列为“ref”,表B的列为“id”。
A.ref包含类似A1234567890B和B.id的数据包含1234567890表格的数据
我尝试根据以下查询加入这两个;
SELECT * FROM A INNER JOIN B
ON SUBSTR(A.ref, 2,10) = B.id;
但是当我知道来自这个子字符串的匹配数据时,这没有返回任何结果。
有什么想法吗?
答案 0 :(得分:0)
SELECT * FROM A INNER JOIN B
ON regexp_substr(A.ref, '^[[:alpha:]]+([[:digit:]]+)[[:alpha:]]+$',1,1,'c',1) = B.id
答案 1 :(得分:0)
我最终通过将SUBSTR(A.ref,2,10)填充为12个字符来解决这个问题。