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文字列関数】INITCAP – 文字列の先頭を大文字に変換する(Oracle、SQL Server)

OracleやSQL Serverで文字列の先頭だけを大文字にするには、INITCAPを使います。 構文: INITCAP(word) wordの先頭文字のみ大文字にする。 使用例:単語の先頭を大文字 …

no image

【SQL変換関数】NVL2 – NULL値を変換する(Oracle)

NVL関数がバージョンアップ?したNVL2関数があります。NVL2はOracleのコマンドで、以下の通りにNULL値を別の値に変換することができます。 構文: NVL2(式, 値1, 値2) 式の値が …

no image

【SQL文字列関数】LEN / LENGTH – 文字列の長さを取得する(SQL Server、Oracle)

文字列の長さを取得するには、SQL Serverの場合はLEN関数、Oracleの場合はLENGTH関数を使用する。 文法: LEN(word) LENGTH(word) wordに指定した文字列の長 …

no image

【SQL変換関数】TO_DATE – 日付値に変換する (Oracle)

Oracleでは、TO_DATE関数を使って、文字列もしくは数値を日付値に変換することができます。 文法: TO_DATE(value [, format] ) valueに指定した文字列もしくは数値 …

no image

【SQL算術関数】TRUNC – 数値を切り捨てる(Oracle)

Oracleで数値を切り捨てるにはTRUNC関数を使います。SQL ServerはROUND関数を使って四捨五入と切り捨ての両方の処理を行う事ができます。 文法: TRUNC(value [ , d …

広告

転職