2025年7月13日日曜日

SQLite 3 文字列から特定の文字列があるかを確認する、 特定の文字列が何文字目から始まるかを調べる。(instr())

概要

isstr() を使うと ある文字列の中に含まれる指定した文字列の開始位置を取得できる。
文字列が含まれていない場合、関数は0 を返す。

構文


instr(str1, str2)
                
str1
調査対象の文字列
str2
str1に含まれているであろう文字列

実行例1

環境
  • Windows 10
  • SQLite ver 3.50.1

sqlite> --# 1.                    
sqlite> select instr('sample@example.com', 'hoge');
0
sqlite> --# 2.
sqlite> select instr('sample@example.com', 'sample');
1
sqlite> --# 3.
sqlite> select instr('sample@example.com', 'example');
8
sqlite> --# 4.
sqlite> select instr('sample@example.com', 'am');
2
sqlite> --# 5.
sqlite> .nullvalue [null]
sqlite> select instr(NULL, 'example');
[null]
sqlite> select instr('sample@example.com', NULL);
[null]
sqlite> select instr(NULL, NULL);
[null]
                
  1. 対象の文字列が含まれていない場合は 0 を返す
  2. 先頭で文字が見つかった場合は 1 となる
  3. 見つかった文字列の開始位置を返す
  4. 複数個所に検索文字列がある場合、最初に見つかった文字列の位置を返す
  5. 引数のどちらかがNULLの場合、 NULLを返す。

参考URL