sql - 检查字符串是否包含特定数字
问题描述
我在两个不同的表中有两列。第一列是 number like 0493484402
,第二列是 audit_detail like 'addr_mastersubscription has changed from 32488141893 to 32488141973'
。
审核详细信息列可能具有与上述不同类型的字符串。我只需要检查上述类型的字符串
我必须检查第二个数字位置的第二列中是否存在第一列值。
如果数字不存在,我需要该数字作为输出
我正在使用 oracle SQL 开发人员
第二列数据类型是 clob,两个表中都没有 comman 字段
第一列数据类型是 varchar
解决方案
您需要检查这两个条件,然后才能使用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]+$'))
推荐阅读
- c++ - 格式化输出,因此我使用 BFS 将其作为二叉树
- r - 从服务器中的两个 selectInputs 中,如何使一个依赖于另一个?
- javascript - primeng 列过滤器不适用于 Promise Values
- node.js - MongoDB:TypeError:无法读取 101 个文档后未定义的属性“getMore”
- ruby-on-rails - Rails 6为每个类别选择随机ActiveRecord对象
- c++ - 手动从类对象向量中排序数据 - C++
- python - 质疑这样的 Python 类是否正确
- reactjs - react + jest - 在测试子句中模拟子组件不会模拟组件
- firebase - 为什么我无法将我的 Google Firebase 计划从 spark 升级到 blaze?
- php - Wordpress sql查询结果与phpmyadmin中的sql查询查询不同的顺序