PostgreSQLで文字列の切り出し(substr, substring)

文法

substring(string, start [, length])

もしくは

substr(string, start [, length])

stringは切り出す対象の文字列でカラムを指定するか直接文字列を指定することも可能

lengthは省略可能

lengthを省略するとstart以降から末尾までの文字列が切り出されます

substringとsubstrの違いは無くどちらを使ってもよい

startとlengthを指定した場合

select substring('abcdefg', 1, 2)
----
結果
ab

lengthを省略した場合

select substring('abcdefg', 2)
----
結果
bcdefg

番外編

startは基本的には1以上の数値を指定するのだが0やマイナス値を指定しても実行される
下記はstartに0を指定した場合の例

select substring('abcdefg', 0, 3)
----
結果
ab

select substring('abcdefg', -1, 3)
----
結果
a

どうやら1より小さい数値を指定した場合は切り出した文字の後方から1に満たない桁の文字だけカットされる模様

Leave a Reply

Your email address will not be published. Required fields are marked *