MYSQL における PATINDEX() の置き換え

MySQLでは、PATINDEX()関数はありませんが、REGEXP_INSTR()関数を使用することで似たような機能を利用できます。REGEXP_INSTR()関数は、文字列内における正規表現パターンが初めて出現した位置を返す関数です。

PATINDEX()関数は以下の様な構文で置き換えることができます

REGEXP_INSTR(列名, ‘パターン’) – 1 を position AS として選択します

FROM table_name

REGEXP_INSTR(列名, ‘パターン’) > 0

これは、列の中で文字列が最初に現れる位置を返します。一致するものがない場合は -1 を返します。

bannerAds