V Oracle použijte funkci substr v kombinaci s funkcí instr k extrahování řetězce z řetězce. Níže jsou uvedeny příklady.
Funkce Substr s příklady funkcí Instr
1. Extrahujte řetězec po zadaném znaku
Níže uvedený příklad extrahuje zbytek řetězce za znakem $.
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; /
Výstup
500.67 PL/SQL procedure successfully completed.
2. Extrahujte řetězec po zadaném znaku na jiný zadaný znak
Tento příklad extrahuje z prvního zadaného řetězce „$“ do druhého zadaného řetězce „.“.
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; /
Výstup
$500 PL/SQL procedure successfully completed.
Viz také:
- Počítání počtu znaků v řetězci v Oracle
- Jak načíst data z kurzoru pomocí For Loop
- Jak spustit blok PL/SQL v Oracle