Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检查字符串是否包含特定的数字_Sql_Oracle - Fatal编程技术网

Sql 检查字符串是否包含特定的数字

Sql 检查字符串是否包含特定的数字,sql,oracle,Sql,Oracle,我在两个不同的表中有两列。 第一列是数字,如0493484402,第二列是审计详情,如“addr\u主订阅已从3248814893更改为3248814973” “审核详细信息”列可能具有与上述不同类型的字符串。我必须只签入上面提到的字符串类型 我必须检查第二列中第二个数字位置的第一列值是否存在 如果该数字不存在,我需要该数字作为输出 我正在使用oracel SQL developer 第二列数据类型是clob,两个表的 第一列数据类型是varchar使用REGEXP\u LIKE: SELECT

我在两个不同的表中有两列。 第一列是数字,如
0493484402
,第二列是审计详情,如
“addr\u主订阅已从3248814893更改为3248814973”

“审核详细信息”列可能具有与上述不同类型的字符串。我必须只签入上面提到的字符串类型

我必须检查第二列中第二个数字位置的第一列值是否存在

如果该数字不存在,我需要该数字作为输出

我正在使用oracel SQL developer

第二列数据类型是clob,两个表的


第一列数据类型是varchar

使用
REGEXP\u LIKE

SELECT *
FROM yourTable
WHERE REGEXP_LIKE (col2, ' to ' || col1 || '$');

像使用REGEXP一样使用
REGEXP\u

SELECT *
FROM yourTable
WHERE REGEXP_LIKE (col2, ' to ' || col1 || '$');

您需要检查这两个条件,然后可以使用
REGEXP\u SUBSTR
REGEXP\u 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]+$'))

您需要检查这两个条件,然后可以使用
REGEXP\u SUBSTR
REGEXP\u 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]+$'))

我就是这样理解这个问题的

示例数据(第1-9行)包含额外的
ID
列(除非您计划在这两个表之间进行交叉联接),用于联接
taba
tabb

regexp\u substr
tabb
col
列中查找第二个数字,该数字与
taba.col
相比较。我展示了它是否存在;你可以显示你想要的任何东西

您可能需要的查询从第11行开始


我就是这样理解这个问题的

示例数据(第1-9行)包含额外的
ID
列(除非您计划在这两个表之间进行交叉联接),用于联接
taba
tabb

regexp\u substr
tabb
col
列中查找第二个数字,该数字与
taba.col
相比较。我展示了它是否存在;你可以显示你想要的任何东西

您可能需要的查询从第11行开始

您可以使用
INSTR()
,名称本身在string中定义
,我们可以在其中检查各个列中是否有特定的字符串可用

请使用下面的查询

select t1.* from table1 t1
inner join table2 t2
on (instr(t1.first_column, t2.second_column) = 0);
instr(t1.第一列,t2.第二列)=0
此条件提供不匹配列

instr(t1.first\u column,t2.second\u column)>0
此条件为您提供匹配字符串

您可以使用
instr()
,名称本身在字符串
中定义
,我们可以在相应列中检查特定字符串是否可用

请使用下面的查询

select t1.* from table1 t1
inner join table2 t2
on (instr(t1.first_column, t2.second_column) = 0);
instr(t1.第一列,t2.第二列)=0
此条件提供不匹配列


instr(t1.first\u column,t2.second\u column)>0
此条件为您提供匹配字符串

您好,请您解释一下以上内容好吗expression@Dhanshri
REGEXP\u LIKE
将第二列与regex`to col1$
进行比较。也就是说,它检查第二列是否以col1`
结尾expression@Dhanshri
REGEXP\u LIKE
将第二列与regex`to col1$
进行比较。也就是说,它检查第二列是否以
to col1`结尾。