Sql 基于特定字符串获取数据
我需要根据特定类型(FFRT-TR=)获取记录,然后替换它。下面的示例是记录类型 20017546 FFRT-TR=3456 TT:SX 2398 FFRT-TR=6532 我需要获取包含FFRT-TR=的记录,然后根据以上示例替换整个FFRT-TR=3456所需输出:20017546(第一个示例)2398(第二个示例)Sql 基于特定字符串获取数据,sql,stored-procedures,Sql,Stored Procedures,我需要根据特定类型(FFRT-TR=)获取记录,然后替换它。下面的示例是记录类型 20017546 FFRT-TR=3456 TT:SX 2398 FFRT-TR=6532 我需要获取包含FFRT-TR=的记录,然后根据以上示例替换整个FFRT-TR=3456所需输出:20017546(第一个示例)2398(第二个示例) 请帮忙。提前谢谢诸如此类的事?Oracle ish(您没有指定您使用的数据库),但是-希望-如果需要,您能够重写它 SQL> with test (col) as 2
请帮忙。提前谢谢诸如此类的事?Oracle ish(您没有指定您使用的数据库),但是-希望-如果需要,您能够重写它
SQL> with test (col) as
2 (select '20017546 FFRT-TR= 3456' from dual union
3 select 'TT:SX 2398 FFRT-TR=6532' from dual
4 )
5 select
6 col,
7 replace(regexp_substr(col, '\d+ FFRT-TR='), 'FFRT-TR=', '') result
8 from test;
COL RESULT
----------------------- ----------------------------------------------------
20017546 FFRT-TR= 3456 20017546
TT:SX 2398 FFRT-TR=6532 2398
SQL>
指定您的RDBMS。那么,在文本字符串
FFRT-TR=
之前的所有数字是什么?然后仅用这些数值替换整个列字符串?@JacobH是的,需要获取FFRT-TR=之前的所有数字,然后替换FFRT-TR=%谢谢您的快速帮助。这很有帮助!!案例嗯,你必须移除所有你不需要的东西,所以-即使你能做到,也会比这更复杂。