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集計関数】SUM関数 – 合計値を求める(Oracle、SQL Server)

OracleやSQL Serverなどで列の合計値を求めるにはSUM関数を使います。集計関数の中でSUM関数が一番良く使われる関数です。引数にDISTINCTを修飾すると重複を除いた合計を求める事がで …

no image

【SQL文字列関数】CONCAT関数 – 文字列を結合する(Oracle)

OracleではCONCAT関数を使用して文字列を結合することができます。 文法: CONCAT( a, b) 文字列aと文字列bを結合する 使用例:姓列と名列を結合する SELECT surname …

no image

【SQL日付関数】YEAR – 日付値から年を取得する(SQL Server)

SQL ServerではYEAR関数を使って日付値から年を取得することができます。YEAR関数の他にDATEPART関数で日付値から年を取得することができます。DATEPART関数は年だけではなく、月 …

no image

【SQL文字列関数】RIGHT – 文字列の右部分(末尾)から文字を抽出(SQL Server)

SQL ServerではRIGHT関数を使用して文字列の右部分(末尾)から指定した文字数だけ文字を抽出することができます。左側(先頭)から抽出する場合はLEFT関数を使用します。 文法: RIGHT( …

no image

【SQL算術関数】GREATEST – 引数の中から最大値を返す (Oracle)

Oracleでは、2つ以上の引数の中から最大値を返すGREATEST関数があります。逆に引数の中から最小値を返すにはLEAST関数を使います。 文法: GREATEST(a, b [, c, &#82 …

広告

転職