sqlite 指定した位置から文字列を取得する

sqlite 指定した位置から文字列を取得する

sqliteで、指定した位置から文字列を取得する手順を記述してます。

環境

  • OS windows11 home
  • sqlite 3.37.1
  • DB Browser for SQLite 3.12.2

手順

指定した位置から文字列を取得するには、「substr」を使用します。

substr( 文字列, 開始位置, [取得する長さ] )

実際に取得してみます。

SELECT 
substr('hello world', 2),
substr('hello world', 3),
substr('hello world', 7),
substr('hello world', 7, 3)

実行結果

取得されていることが確認できます。

開始位置をオーバーすると何も取得されず、マイナスを指定すると後ろから取得されます。また、開始位置を指定して、取得する文字数は超えても全て取得されます。

SELECT 
substr('hello world', 100),
substr('hello world', -2),
substr('hello world', 7, 100)

実行結果

日本語

日本語も置換することが可能です。

SELECT 
substr('おはようございます', 2),
substr('おはようございます', 3),
substr('おはようございます', 3,2)

実行結果

サロゲートペア

文字コードを16bitではなく32bitで表してるサロゲートペア文字にも使用できます。

SELECT 
substr('😅😆😇😅😆😇', 2),
substr('😅😆😇😅😆😇', 3),
substr('😅😆😇😅😆😇', 3,2)

実行結果