PostgreSQL 指定した位置から指定した文字数だけ取得する
- 作成日 2022.03.11
- 更新日 2022.12.29
- PostgreSQL
- PostgreSQL

PostgreSQLで、指定した位置から指定した文字数だけ取得する手順を記述してます。「substring」に位置と文字数を指定することで可能です。存在しない位置を指定した場合は何も返りません。
環境
- OS Rocky Linux release 8.4 (Green Obsidian)
- PostgreSQL 14.0
- pgadmin 6.0
指定した位置から指定した文字数だけ取得
指定した位置から指定した文字数だけ取得したい場合は、「substring」を使用します。
substring(文字列, 取得したい位置, 取得したい文字数)
※取得したい位置が最大数を超えたいた場合は何も返りません
実際に3文字目から、2文字取得してみます。
select substring('ABCDE',3,2)
実行結果

文字列の3文字である「C」から2文字「CD」が取得されていることが確認できます。
指定した位置から最後まで
指定した位置から最後まで取得したい場合は、文字数を取得すれば最後まで取得可能です。
select substring('ABCDE',3,length('ABCDE'))
実行結果

サロゲートペア
サロゲートペアでも、同様に取得可能です。
select substring('😀😇😀😇😀',3,2)
実行結果

-
前の記事
MySQL DBからcreate文を作成する 2022.03.11
-
次の記事
PostgreSQL 日付の差分を求める 2022.03.11
コメントを書く