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文字列関数】CHAR、CHR – ASCIIコードを文字に変換する(SQL Server、Oracle)

ASCIIコードを文字に変換するにはCHAR(SQL Serverの場合)もしくはCHR(Oracleの場合)を使用します。 使用例:ASCIIコードを文字に変換する SELECT ascii_cod …

no image

【SQL集計関数】STDDEV、STDEV – 標準偏差を求める(SQL Server、Oracle)

SQL ServerやOracleで標準偏差(Standard Deviation)を求めるにはSTDDEVもしくはSTDEVを使います。標準偏差とは、データの散らばりの度合いを表し、標準偏差の値が小 …

no image

【SQL算術関数】ABS – 絶対値を取得する(Oracle、SQL Server)

OracleやSQL Serverでは、ABS関数を使って数値の絶対値を求める事が出来ます。 文法: ABS(value) valueの絶対値を求める 使用例:夫婦の年齢差を求める。 SELECT h …

no image

【SQL日付関数】EXTRAC – 日付から任意の日付要素を取得する (Oracle)

Oracleで、日付値から任意の日付要素(年、月、日など)を取得するにはEXTRACT関数を使います。例えば、EXTRACT関数を使えば、2008-09-22という日付値から、月を取得すると09という …

no image

【SQL集計関数】MAX関数 ? 最大値を返す (SQL Server、Oracle)

指定した列の最大値を返すには、MAX関数を使います。数値、文字列、日付の最大値を求める事が可能です。 使用例:社員の一番高い給料を返す SELECT MAX(salary) FROM tbEmpTab …

広告

転職