(SQL基礎)PostgreSQLの文字列関数2

SQL・DB

データ加工によく使う文字列関数等を記録

やりたいこと
〇カラムの先頭にある全角・半角スペースを取り除く
〇カラムの先頭にある数字のみ別カラムに移す

 

カラムの先頭にある全角・半角スペースを取り除く

 

テストデータ「test_table」のイメージ。先頭と文字の間に半角・全角スペースがある。
このデータから先頭の半角・全角スペースを全て取り除きたい。

 

trim関数を使う。
書き方はtrim(対象カラム,'[対象文字列]’)
※わかりずらいが、今回は半角・全角スペースを[対象文字列]内に入れている。

 

実行結果

 

先頭の半角・全角スペースのみ削除される。

 

updateの書き方は以下の通り

 

 

カラムの先頭にあるの数字のみ別カラムに移す

 

テストデータ「test_table」のイメージ。カラムの先頭に桁がバラバラな数字がある。
数字のみ抜き出して別カラムに移したい。

regexp_replaceと正規表現を使って文字列を置換する。書き方は以下の通り。
regexp_replace(対象カラム,’対象文字列’,’置換後の文字列’)

今回使う正規表現は以下の通り。
正規表現も複雑で詳細に書くと趣旨から外れてしまうので超ざっくり説明する。

SQLは以下のように書ける

実行結果は以下の通り

 

正規表現と併せて使うことで効果が高まる

今回は業務で使用した文字列操作の関数を記録した。文字列操作関数は正規表現と組み合わせることで効果が高まるので、今後正規表現についても記録していく。

コメント

タイトルとURLをコピーしました