Oracle の SUBSTR関数を使って、末尾から文字列を切り出す方法です。
SUBSTR関数で末尾から切り出す
SUBSTR関数は文字列を先頭から抽出する方法が基本形ですが、末尾から(右から)抽出する方法もあります。往々にして、後ろから切り出したい・抽出したい場合に使います。
構文はこれ。
SUBSTR('対象の文字列', マイナスの整数, [切り出す長さ]);
第2引数にマイナスの整数を指定するだけです。
サンプル(実行例)
「Hello, World!」に対して、末尾から(右から)SUBSTRで切り出し・抽出を行ってみます。
SELECT SUBSTR('Hello, World!', -6) AS 開始位置のみ指定, SUBSTR('Hello, World!', -6, 3) AS 開始位置と文字数指定 FROM DUAL;
DUALなので、そのまま実行してみて下さい。
それぞれ解説します。
まず、開始位置のみ指定した場合。
SUBSTR('Hello, World!', -6)
マイナスの整数「-6」を指定しているので、末尾から6文字目が開始位置として指定されます。なので、結果に「World!」が戻ってきています。
次に開始位置と文字数を指定した場合。
SUBSTR('Hello, World!', -6, 3)
末尾から6文字目を開始位置とし、そこから3文字を切り出しています。結果に「Wor」が戻ってきています。
参考リンク
SUBSTR
関連記事
【Oracle】SUBSTRで文字を切り出す(抽出)
Oracle の SUBSTR関数を使って、文字列を切り出す方法です。