ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
文字列の位置を正規表現を使って取得する(REGEXP_INSTR)
スポンサード リンク

文字列の位置を正規表現を使って取得するには、REGEXP_INSTR関数を使用します

REGEXP_INSTR( 検索対象文字列 ,
           検索パターン ,
           [ 検索開始位置 ] ,
           [ 出現回数 ] ,
           [ 戻り値モード ] ,
           [ 検索モード ] )
正規表現を「検索パターン」に指定して、パターンにマッチする文字を検索対象文字列から検索します。
検索して見つかった位置を返します。

出現回数は、検索対象文字列に出現する検索パターンが何回出現したら戻すかを指定します。

戻り値モード 
    0 : 最初の文字の位置を返す(デフォルト)
    1 : 出現した文字の次の文字の位置を返す。

検索モード
   i : 大文字/小文字を区別せずに検索する
   c : 大文字/小文字を区別してに検索する。


例1) 文字列'aabb1122ccdd'から数字が、何文字目に最初に出現するか検索します。

SQL> select regexp_instr( 'aabb1122ccdd' , '[0-9]' ) from dual;

REGEXP_INSTR('AABB1122CCDD','[0-9]')
------------------------------------
                         5



例2) 文字列'aabb1122ccdd'からアルファベットが「a〜z」が、5回目に出現するのは何文字目か検索します。

SQL> select
  2   regexp_instr( 'aabb1122ccdd', '[a-z]', 1, 5 )
  3  from dual;

REGEXP_INSTR('AABB1122CCDD','[A-Z]',1,5)
--------------------------------------
                           9



スポンサード リンク



文字列を連結する(||、CONCAT)
文字列を置換する(REPLACE、TRANSLATE)
文字列を正規表現を使用して置換する(REGEXP_REPLACE)
文字列の左右に指定した文字列を埋める(RPAD、LPAD)
文字列の一部を切り出す(SUBSTR、SUBSTRB)
文字列の一部を正規表現を使用して切り出す(REGEXP_SUBSTR)
文字列の位置を取得する(INSTR)
文字列の位置を正規表現を使って取得する(REGEXP_INSTR)
文字列のサイズを取得する(LENGTH、LENGTHB)
文字列の空白を削除する(TRIM、RTRIM、LTRIM)
数値を文字列に変換する( TO_CHAR )
CLOBをVARCAHR2に変換する( TO_CHAR )
英数字の半角文字/全角文字変換(TO_MULUTI_BYTE、TO_SINGLE_BYTE)
全角カナの半角変換
半角カナの全角変換
英字の大文字/小文字変換(LOWER、UPPER)
英文字列の先頭文字の大文字変換(INITCAP)
NULL文字列の変換(NVL)
NULL文字列の変換2( NVL2 )
文字コードを変換する(CONVERT)

SQL(DML2) へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ