記事内に広告が含まれています。

【Oracle】SUBSTRで文字を切り出す(抽出)

Oracle の SUBSTR関数を使って、文字列を切り出す方法です。

【スポンサーリンク】

SUBSTR関数

SUBSTR関数を使用することで、文字列から一部を抽出することが出来ます。

構文は以下。

SUBSTR(対象の文字列, 切り出し開始位置, [切り出す長さ]);

各パラメータの説明は以下。

  • 対象の文字列:切り出したい対象の文字列(ここから抽出)
  • 切り出し開始位置:文字列の何番目の位置からを指定(整数を指定)
  • 切り出す長さ:省略可能。何文字切り出したいかを指定。

それほど難しくありません。

【スポンサーリンク】

サンプル(実行例)

取り敢えず「Hello, World!」に対してSUBSTRで切り出し・抽出を行ってみます。

SELECT SUBSTR('Hello, World!', 8)    AS 開始位置のみ指定,
       SUBSTR('Hello, World!', 0, 5) AS 開始位置と文字数指定
  FROM DUAL;

DUALなので、そのまま実行してみて下さい。

それぞれ解説します。

まず、開始位置のみ指定した場合。結果に「World!」が戻って来ますね。

SUBSTR('Hello, World!', 8)

「Hello, World!」の先頭から数えて、8文字目が開始位置となり、末尾まで切り出します。なので、「World!」が切り出されています。

次に開始位置と文字数を指定した場合。

SUBSTR('Hello, World!', 0, 5)

指定した文字位置から5文字を切り出します。先頭から5文字を切り出しているので、結果に「Hello」が戻ってきています。

サンプルでは、開始位置を0にしていますが、0を指定した場合は、1文字目が開始位置となります。
【スポンサーリンク】

参考リンク

SUBSTR
【スポンサーリンク】

関連記事

【Oracle】EXISTS・NOT EXISTSで存在の有無を調べる方法
OracleにおけるEXISTSとNOT EXISTSの使い方です。 SQL Server・MySQL・PostgreSQLなどでも構文は同じですが、今回はOracleで実行しています。
【Oracle】文字列の文字数・バイト数を取得するLENGTH・LENGTHB
Oracleで文字列の文字数やバイト数を取得する方法です。
【Oracle】データベース内の全てのテーブルの一覧を確認するSQL
データベース内にあるテーブルの一覧を確認する方法です。
【Oracle】データベース内の全てのカラム一覧を取得するSQL
データベース内にあるカラムの一覧を確認する方法です。