SQL辞典

【SQL文字列関数】INSTR – 文字列を検索して文字列の位置を返す(Oracle)

投稿日:2009年9月3日 更新日:

Oracleでは、INSTR関数を使用して文字列の位置を求める事ができます。

文法:

INSTR(word, target [, N [, M] ] )

wordで指定した文字列からtargetを検索して、位置を求めます。Nを指定している場合はN番目の文字から検索を開始します。Mを指定している場合はM番目に検索されるtargetの位置を返します。N、Mを省略すると、共に1として扱われます。
targetを最後(末尾)から検索するにはNに負の数を指定します。

使用例:メールアドレスの@の位置を求める。

SELECT email, INSTR(email, ‘@’) FROM tbEmpTable;

email                 INSTR(email, ‘@’)
————————————————————
Oyamada@sql.jpn.org       8
tani@sql-master.net        5
infomation@sql-master.net    11

使用例:電話番号から?(ハイフン)が2番目に見つかった位置を求める。

SELECT tel, INSTR(tel, ‘ – ‘, 1, 2) FROM tbEmpTable;

tel          INSTR(tel, ‘ – ‘, 1, 2)
—————————————————————–
04-111b-234#    8
032-22-bb398    7
003405#1222    0

使用例:メールアドレスの@を最後(末尾)から検索して位置を求める。

SELECT email, INSTR(email, ‘@’, -1) FROM tbEmpTable;

email                 INSTR(email, ‘@’)
————————————————————
Oyamada@sql.jpn.org       12
tani@sql-master.net        15
infomation@sql-master.net    15

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL文字列関数】LOWER – 文字を小文字に変換(Oracle、SQL Server)

SQL ServerやOracleで文字列を小文字に変換するにはLOWER関数を使います。 構文: LOWER(word) wordを小文字に変換する。 使用例:メールアドレスを小文字に変換する SE …

no image

【SQL文字列関数】TRIM – 指定文字の削除(Oracle)

Oracleで文字列から指定した文字を削除するにはTRIM関数を使用します。TRIM関数では、先頭・末尾にある文字しか削除することができません。またSQL Serverでは使用できません。 文法: T …

no image

【SQL算術関数】ROUND – 四捨五入を行う(まるめる)(Oracle、SQL Server)

ROUND関数は数値を四捨五入する関数ですが、MS SQLとOracleでは若干使い方が違います。OracleではROUND関数の引数に指定した数値を四捨五入しますが、MS SQLの場合は四捨五入する …

no image

【SQL文字列関数】LEFT – 文字列の左(先頭)から指定した文字分だけ抽出(SQL Server)

SQL Serverで、文字列の左(先頭)から指定した文字分だけ抽出するにはLEFT関数を使います。 文法: LEFT(word, n) wordに指定した文字列の左からn文字分を抽出する。SQL S …

no image

【SQL日付関数】LAST_DAY – 月の最終日付を取得する (Oracle)

Oracleでは、LAST_DAY関数を利用して月の最終日を取得する事ができます。閏年にも対応していますね。 使用例:月の最終日付を取得する。 SELECT date, LAST_DAY(date) …

広告

転職