部分文字列を切り出す関数は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