Oracle 文字列分割:指定記号より前の文字を抽出する方法
Oracleでは、SUBSTR関数とINSTR関数を使用して、固定記号の前の内容を取得することができます。以下は例です:
“abc:def:ghi”という文字列があると仮定し、最初の「:」の前の内容「abc」を抽出したい。
SELECT SUBSTR('abc:def:ghi', 1, INSTR('abc:def:ghi', ':') - 1) FROM dual;
上記のクエリにおいて、INSTR関数は最初に “:” の位置を検索し、その位置に基づいてSUBSTR関数が部分文字列を切り取ります。
“abc:def”の前にある2番目の「:」シンボルを切り取りたい場合は、次の方法で行うことができます。
SELECT SUBSTR('abc:def:ghi', 1, INSTR('abc:def:ghi', ':', 1, 2) - 1) FROM dual;
同様に、INSTR関数の3番目のパラメータは、何番目の記号から検索を開始するかを示します。