ywork2020.com

Title

文字検索で該当文字の開始位置を取得する

目次 (INDEX)

POSITION とは

ここで説明する POSITION とは次の語句からなる SQL の関数です。
position
読み: ポジション
意味: 場所、位置

目次に戻る

POSITION 関数の概要

この関数は検索文字が検索対象文字列にある場合に検索文字の開始位置を数値で取得することができます。

引数には、検索文字と検索対象文字列の2つが必要で、IN句を使って2つの値の関係を示す必要があります。

目次に戻る

POSITION関数の説明と実機サンプルでの検証

ここからは実際に稼働しているデータベースに接続してクエリを実行していきます。 下記に配置された各ボタンをクリックすると、ボタンに書かれているサンプルクエリを実行して結果を表示します。

このサンプルではテーブルのデータを使わないで直接の実数値で検証していきます。 実際に使用する場合は値を直接に処理するだけでなく、カラム名を指定することでテーブル内のデータも処理できます。

POSITION関数の基本的な使い方

構文:
SELECT POSITION(検索文字 IN 検索対象文字列);

実行:

説明:
このサンプルでは、検索対象文字列の'12YWORK890'から検索文字の'YWORK'を探しているということになります。 検索対象に該当する検索文字があったので、その文字の開始位置を返しているというわけです。 今回は'YWORK'という文字が3文字目から開始しているので結果として3を返していますね。

なお、この関数で検索文字が見つからなかった場合には0を返します。 例えば、この性質をWHERE句で利用することで、 LIKE演算子 のように使用することも可能です。

目次に戻る

SQL の仕様上の注意点

※ SQL の予約句はアルファベットの大文字と小文字を区別しませんが、 任意で作成したデータベースやテーブル、カラムの名前などは区別されるので注意が必要です。

目次に戻る