sql >> Databasteknik >  >> RDS >> Oracle

Använda Substr med Instr för att extrahera en sträng i Oracle

I Oracle använder du substr-funktionen i kombination med instr-funktionen för att extrahera en sträng från en sträng. Nedan är exemplen.

Substr-funktion med exempel på Instr-funktion

1. Extrahera en sträng efter ett angivet tecken

Nedanstående exempel kommer att extrahera resten av en sträng efter $-tecknet.

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

Utdata

500.67
PL/SQL procedure successfully completed.

2. Extrahera en sträng efter ett angivet tecken till ett annat specificerat tecken

Det här exemplet extraherar från den första angivna strängen "$" till den andra angivna strängen ".".

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

Utdata

$500
PL/SQL procedure successfully completed.

Se även:

  • Räkna antalet tecken i en sträng i Oracle
  • Hämta data från markören med For Loop
  • Hur man kör PL/SQL-block i Oracle

  1. Returnera basdatatypen från ett SQL_variantvärde i SQL Server

  2. När ska man byta till en större RDS-instans

  3. SQL Server En utlösare för att fungera på infogning av flera rader

  4. Hur hittar man på varandra följande rader baserat på värdet på en kolumn?