入力データ:
abcdef_fhj_viji.dvc
期待される出力:
fhj_viji.dvc
トリミングする部分は一定ではありません。
REPLACE
メソッドを使用する
Select REPLACE('abcdef_fhj_viji.dvc','abcde','')
テーブルにこのクエリが必要な場合:
Select REPLACE(column,'abcde','') from myTable
更新の場合:
UPDATE TABLE
SET column = REPLACE(column,'abcde','')
select substr('abcdef_fhj_viji.dvc',instr('abcdef_fhj_viji.dvc','_')+1) from dual
したがって、そのすべては関数に依存しINSTR
、どの位置からどのオカレンスかを定義し、インデックスを取得してそのインデックスを渡してSUBSTR
文字列を取得します。
あなたは多くの情報を提供していないので、私はいくつかを仮定します。
ある文字列のプレフィックスを削除したいとしましょう。これを行う良い方法は、正規表現を使用することです。パターンに応じて文字列の部分文字列を見つけ、それを別の文字列に置き換えることができる regexp_replace と呼ばれる関数があります。PL/SQL では、次のように、regexp_replace を使用して自分で関数を作成できます。
function deletePrefix(stringName in varchar2) return varchar2 is
begin
return regexp_replace(stringName, '^[a-zA-Z]+_', '');
end;
または、次のような単純なSQLでこれを使用します。
regexp_replace(stringName, '^[a-zA-Z]+_', '');
stringName
処理する文字列であり^[a-zA-Z]+_
、プレフィックスに含まれる文字に応じた部分です。ここでは、大文字と小文字のみを含めました。