SQLで文字列の中から指定した文字の位置を検索する方法

ここでは、SQLで文字列の中から指定した文字の位置を確認する方法を紹介します。

文字列の中から指定した文字の位置を検索する場合には、INSTR関数と言う関数を使います。

この関数では、INSTR(文字列1,文字列2,n,m)と言うように書き、文字列1の何番目の文字から、文字列2を検索します。
そして文字列2がm番目に現れる位置を戻り値とします。

次のSQLでは、table1のcol1と言う文字列に格納された値から、ある文字の位置を検索しています。

SQLの例

–先頭の文字から’a’が最初に現れる位置を取得する場合(n,mは省略すると1と同じ扱いになります)
select INSTR(col1,’a’) FROM table1;

–先頭の文字から’a’が2番目に現れる位置を取得する場合
select INSTR(col1,’a’,1,2) FROM table1;

–3番目の文字から’a’が最初に現れる位置を取得する場合
select INSTR(col1,’a’,3,1) FROM table1;

–3番目の文字から’a’が2番目に現れる位置を取得する場合
select INSTR(col1,’a’,3,2) FROM table1;

現場で使えるSQL第2版 Oracle 10 g・SQL Server 20 (DB magazine selection) [ 小野哲 ]

価格:2,376円
(2018/11/19 19:05時点)
感想(4件)