【问题标题】:Regexp in a matching column sql匹配列 sql 中的正则表达式
【发布时间】:2020-11-20 07:54:26
【问题描述】:

我有 2 张桌子。其中之一具有作为正则表达式的列之一。我想加入正则表达式列上的两个表。似乎无法做到这一点。 详细说明:表 1 是(错误类型、操作、错误消息),表 2 是(每种类型的错误消息的正则表达式、错误代码)连接列是错误消息和正则表达式,都是字符串。这可能吗?谢谢。

Select * from table1 
left outer join table2 on table1.error_message=table2.regExp. 

问题:table2.regExp 具有应该匹配一个或多个 table1.error_messages 的实际正则表达式。 = 在这里不起作用。

【问题讨论】:

  • 样本数据和期望的结果将阐明您想要做什么。
  • 新用户应该使用tour,然后访问help center,在你的情况下,我建议也阅读How do I ask a good question。那么你应该根据上面链接中的信息edit你的问题。所以关于您的问题:您想查看表 1 的 error message 列中的哪些行与表 2 中的正则表达式匹配吗?

标签: sql regex join sap-iq


【解决方案1】:

您需要使用REGEXPRLIKE 运算符。 = 执行完全匹配,而不是模式匹配。

SELECT *
FROM table1
LEFT OUTER JOIN table2
ON table1.error_message REGEXP table2.regexp

【讨论】:

  • 感谢 Barmar,在这种情况下,当我将数据存储在 table2 中时,正则表达式,我应该用 '(引号)插入它,因为 REGEXP 需要第二个字符串用引号括起来吗?
  • 是的,就像任何其他字符串一样。
猜你喜欢
  • 2017-08-09
  • 2018-01-08
  • 1970-01-01
  • 2014-10-13
  • 2017-12-20
  • 2015-03-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
相关资源
最近更新 更多