sql - 用于检查一列是否包含另一列值的正则表达式

标签 sql regex oracle algorithm relational-database

我有一个具体的场景,如下所述: 表 T1包含 Namestatus .表 T2包含列 Name_status . status将具有 pass 的值和 fail . Name_status应该有类似 <Name>_<status>ed 的值.

我们能否想出一个正则表达式来获取 <Name>_<status>ed 中的所有值?格式。

如有任何帮助,我们将不胜感激。谢谢

最佳答案

你可以试试这个

 SELECT *
   FROM T1, T2
  WHERE REGEXP_REPLACE(T2.Name_Status, '^(.+?)_(.+?)ed$', '\1') = T1.name   
    AND REGEXP_REPLACE(T2.Name_Status, '^(.+?)_(.+?)ed$', '\2') = T1.status

关于sql - 用于检查一列是否包含另一列值的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33230580/

相关文章:

mysql - Now() 上的 Convert_tz 返回错误

regex - 在文本文件中查找所有匹配的双字符字符串并交换它们

sql - 如何获取oracle sql中指定位置具有特定字符的记录

java - 如何使用 spring-jdbc 在 Oracle 存储过程中使用 IN OUT 参数?

sql - 在 postgresql 中更新具有不同值的所有重复行

mysql - Sql - 写一些东西而不是NULL值

mysql - SQL - 计算模式而不排序

python - 正则表达式匹配列表中的不同字符串

Javascript 被 $ 分割,但不是 $$

oracle - Oracle 11g 升级后无法运行自动优化器统计信息收集作业