【PostgreSQL】文字の切り取り(Left、Right、Substring)

2020年7月11日

スポンサーリンク

文字を左から○文字切り取る(Left関数)

文字列の左から○文字取得するには、Left関数を使用します。

--Left関数
Left( 切り取る文字列 , 左から切り取る文字数 )

--'ABCDEFGHIJK'を左から5文字切り取る
select * from left('ABCDEFGHIJK',5); --【結果】:'ABCDE'

 

文字を右から○文字切り取る(Right関数)

文字列の右から○文字取得するには、Right関数を使用します。

--Right関数
Right( 切り取る文字列 , 右から切り取る文字数 )

--'ABCDEFGHIJK'を右から5文字切り取る
select * from right('ABCDEFGHIJK',5); --【結果】:'GHIJK'

 

文字を左のX文字目から○文字切り取る(Substring関数)

文字列から指定した部分を取得するには、substring関数を使用します。

--Substring関数
Substring( 切り取る文字列 , 切り取り始める位置 , 切り取る文字数)

--'ABCDEFGHIJK'を3文字目から4文字切り取る
select * from substring('ABCDEFGHIJK',3,4); --【結果】:'CDEF'

 

※3つ目の引数『切り取る文字数』は、その文字列の文字数を超えてもエラーにはなりません。

次の例は3文字目から100文字取得としていますが、エラーにならず最後の文字まで取得できます。

select * from substring('ABCDEFGHIJK',3,100); --【結果】:'CDEFGHIJK'

 

先頭○文字、後ろ○文字を削る

最後に、substringとlengthを使って文字を削る例を紹介します。

--'abcdefgh'の先頭3文字を削る(=4文字目以降すべて取得する)
select * from substring('abcdefgh',4,length('abcdefgh'));    --【結果】:'defgh'

--'abcdefgh'の後ろ3文字を削る
select * from substring('abcdefgh',1,length('abcdefgh')-3);  --【結果】:'abcde'