sql >> データベース >  >> RDS >> Oracle

SubstrとInstrを使用してOracleで文字列を抽出する

    Oracleでは、substr関数をinstr関数と組み合わせて使用​​して、文字列から文字列を抽出します。以下に例を示します。

    Instr関数の例を使用したSubstr関数

    1。指定した文字の後に文字列を抽出します

    以下の例では、$記号の後の残りの文字列を抽出します。

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

    出力

    500.67
    PL/SQL procedure successfully completed.

    2。指定された文字の後の文字列を別の指定された文字に抽出します

    この例では、最初に指定された文字列「$」から2番目に指定された文字列「。」に抽出します。

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

    出力

    $500
    PL/SQL procedure successfully completed.

    関連項目:

    • Oracleで文字列内の文字数をカウントする
    • Forループを使用してカーソルからデータを取得する方法
    • OracleでPL/SQLブロックを実行する方法

    1. PostgreSQL 13:スロットにプライマリを殺させないでください

    2. テーブル内の重複する行を削除する

    3. PostgreSQLで文字列を日付に変換する方法

    4. Oracleで現在開いているカーソルを見つける方法