LoginSignup
8
8

More than 5 years have passed since last update.

【SQLite】【PostgreSQL】部分文字列切り出しをsubstr関数で共通化

Last updated at Posted at 2018-06-07

部分文字列を切り出す関数はsubstrを使うと、PostgreSQLとSQLiteで共通のシグネチャとなる。
PostgreSQLには同じ機能を持ったSQL92準拠の構文の関数substringもあるが、SQLiteはバージョン3.24.0時点ではsubstringを実装していない。

構文

substr(target, start [, length])

targetは切り出し対象とする文字列、startは切り出し開始文字のインデックス(先頭の文字を1とする)、lengthは切り出す文字数。
lengthを省略すると、start以降末尾まで切り出す。

動作例

postgres (PostgreSQL 9.6.7で確認)

postgres=# SELECT substr('abcdef', 2, 3);
 substr
--------
 bcd
(1 )


postgres=# SELECT substr('abcdef', 3);
 substr
--------
 cdef
(1 )

SQLite(SQLite 3.24.0で確認)

sqlite> SELECT substr('abcdef', 2, 3);
bcd

sqlite> SELECT substr('abcdef', 3);
cdef
8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8