sql >> Base de Datos >  >> RDS >> Oracle

Usando Substr con Instr para extraer una cadena en Oracle

En Oracle, use la función substr en combinación con la función instr para extraer una cadena de una cadena. A continuación se muestran los ejemplos.

Función Substr con ejemplos de funciones Instr

1. Extrae una cadena después de un carácter específico

El siguiente ejemplo extraerá el resto de una cadena después del signo $.

set serveroutput on;
declare
v_string varchar2(20) := 'USD$500.67';
v_string1 varchar2(20);
begin
v_string1 := substr(v_string, instr(v_string, '$') +1);
dbms_output.put_Line(v_string1);
end;
/

Salida

500.67
PL/SQL procedure successfully completed.

2. Extrae una cadena después de un carácter especificado a otro carácter especificado

Este ejemplo extraerá de la primera cadena especificada "$" a la segunda cadena especificada ".".

set serveroutput on;
DECLARE
v_string VARCHAR2 (20) := 'USD$500.67';
v_string1 VARCHAR2 (20);
BEGIN
v_string1 :=
SUBSTR (v_string,
INSTR (v_string, '$'),
INSTR (v_string, '.') - INSTR (v_string, '$'));
DBMS_OUTPUT.put_Line (v_string1);
END;
/

Salida

$500
PL/SQL procedure successfully completed.

Ver también:

  • Cuenta el número de caracteres en una cadena en Oracle
  • Cómo obtener datos del cursor usando For Loop
  • Cómo ejecutar bloque PL/SQL en Oracle