Oracle
 sql >> Base de données >  >> RDS >> Oracle

Utilisation de Substr avec Instr pour extraire une chaîne dans Oracle

Dans Oracle, utilisez la fonction substr en combinaison avec la fonction instr pour extraire une chaîne d'une chaîne. Voici les exemples.

Fonction Substr avec des exemples de fonctions Instr

1. Extraire une chaîne après un caractère spécifié

L'exemple ci-dessous extraira le reste d'une chaîne après le signe $.

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;
/

Sortie

500.67
PL/SQL procedure successfully completed.

2. Extraire une chaîne après un caractère spécifié vers un autre caractère spécifié

Cet exemple extraira de la première chaîne spécifiée "$" à la deuxième chaîne spécifiée ".".

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;
/

Sortie

$500
PL/SQL procedure successfully completed.

Voir aussi :

  • Compter le nombre de caractères dans une chaîne dans Oracle
  • Comment récupérer des données à partir du curseur à l'aide de la boucle For
  • Comment exécuter un bloc PL/SQL dans Oracle