Sql 基于特定字符串获取数据

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

我需要根据特定类型(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    (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=%谢谢您的快速帮助。这很有帮助!!案例嗯,你必须移除所有你不需要的东西,所以-即使你能做到,也会比这更复杂。