oracleで文字列から特定の部分を取り出す方法は何ですか。
Oracleでは、文字列の一部を抽出するために、SUBSTR関数を使用することができます。
文法は以下の通りです。
文字列中の指定された位置から指定された長さだけの部分文字列。
上記の場合、stringは切り取りたい文字列、start_positionは切り取りの開始位置(1から数え始める)、lengthは切り取る長さを示しています。
例えば、「Hello World」という文字列がある場合、その中から「World」という部分文字列を切り取りたい場合には、次の文を使用することができます。
SELECT SUBSTR(‘Hello World’, 7, 5) FROM dual;を日本語で言い換えると、「dualから(‘Hello World’, 7, 5)を抽出する」となります。
This will return the string “World”.
これは、文字列”World”を返します。
子文字列の長さが不明な場合は、次のステートメントを使用できます。
SELECT SUBSTR(‘Hello World’, 7) FROM dual;
=> SELECT SUBSTR(‘Hello World’ FROM 7) FROM dual;
第7文字以降の全ての文字を返します。つまり、文字列”World”が戻ります。
Oracleでは文字列インデックスが1から始まることに注意する価値があります。