我在两个不同的表中有两列。
第一列是数字,例如sbt projectName/test:run-main amm
,第二列是audit_detail,例如sum (np.diff(bins_sns)*values_sns)
。
“审核详细信息”列中的字符串类型可能不同于上述类型。我只需要检查上述类型的字符串
我必须检查第二个数字的第二列中是否存在第一列值。
如果没有该号码,则需要该号码作为输出
我正在使用oracel SQL开发人员
第二列的数据类型为clob,并且两个表中都没有逗号
第一列数据类型为varchar
答案 0 :(得分:0)
使用REGEXP_LIKE
:
SELECT *
FROM yourTable
WHERE REGEXP_LIKE (col2, ' to ' || col1 || '$');
答案 1 :(得分:0)
您需要检查两个条件,然后才能使用REGEXP_SUBSTR
和REGEXP_LIKE
,如下所示:
SELECT * FROM YOUR_TABLE
WHERE REGEXP_LIKE(SECOND_COLUMN, '^addr_mastersubscription has changed from [0-9]+ to [0-9]+$')
AND TO_NUMBER(FIRST_COLUMN) = TO_NUMBER(REGEXP_SUBSTR(SECOND_COLUMN,'[0-9]+$'))
答案 2 :(得分:0)
这就是我对问题的理解。
示例数据(第1-9行)包含附加的ID
列(除非您计划在这两个表之间进行交叉联接),用于连接taba
和{{1} }。
tabb
在regexp_substr
的{{1}}列中查找第二个数字,该数字与tabb
进行比较。我显示了它是否存在;您可以显示任何内容。
您可能需要的查询从第11行开始。
col
答案 3 :(得分:0)
您可以使用INSTR()
,名称本身定义in string
,在这里我们可以检查相应列中是否有特定的字符串。
请在下面的查询中使用
select t1.* from table1 t1
inner join table2 t2
on (instr(t1.first_column, t2.second_column) = 0);
instr(t1.first_column, t2.second_column) = 0
这种情况为您提供了不匹配的列
instr(t1.first_column, t2.second_column) > 0
此条件为您提供了匹配的字符串