oracle – 字符串内的子串
发布时间:2021-04-03 07:47:45 所属栏目:站长百科 来源:网络整理
导读:假设这是我的表: ID STRING1 'ABC'2 'DAE'3 'BYYYYYY'4 'H' 我想在另一行的STRING变量中选择STRING列中至少有一个字符的所有行. 例如,1和2具有共同的A,1和3具有共同的B,但是4与任何其他行没有任何共同的字符.所以我的查询应该只返回前三行. 我不需要知道它
假设这是我的表: ID STRING 1 'ABC' 2 'DAE' 3 'BYYYYYY' 4 'H' 我想在另一行的STRING变量中选择STRING列中至少有一个字符的所有行. 例如,1和2具有共同的A,1和3具有共同的B,但是4与任何其他行没有任何共同的字符.所以我的查询应该只返回前三行. 我不需要知道它匹配的是哪一行. 谢谢! 解决方法@ A.B.Cade:很好的解决方案,但可以在没有任何明显或加入的情况下完成.SELECT * FROM test t1 WHERE EXISTS ( SELECT * FROM test t2 WHERE t1.id<>t2.id AND regexp_like(t1.string,'['|| replace(t2.string,'.[]','.[]')||']') ) 查询不会将字符串与额外的行进行比较,因为只要找到当前行的1个匹配项,它就会停止比较… See fiddle. (编辑:西双版纳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |