PostgreSQLで文字列の不要なスペースをトリミングする・TRIM・LTRIM・RTRIM †本資料はPostgreSQLで文字列の前後にある不要なスペースを削除する文字列関数TRIM, LTRIM, RTRIMについて記述します。 関連記事 †環境および環境設定など †使用したOSはCentOS6になります。 以下の操作でPostgreSQLに接続、SQLを実行しデータベースおよびテーブルを作成しデータを投入しました。 [root@centos6 ~]# su - postgres -bash-4.1$ createdb trimdb -bash-4.1$ psql trimdb psql (8.4.13) "help" でヘルプを表示します. trimdb=# create table trimtbl (c1 varchar(10)); CREATE TABLE trimdb=# insert into trimtbl values(' hello '),(' world '); INSERT 0 2 trimdb=# SELECT * FROM trimtbl; c1 ----------- hello world (2 行) LTRIM, RTRIMを使ってみる。 †作成したテーブルを使用してLTRIM, RTRIMを使用してみます。 ダブルパイプで$を末尾に連結しています。 trimdb=# SELECT LTRIM(c1) || '$' , RTRIM(c1) || '$' from trimtbl; ?column? | ?column? ----------+---------- hello $ | hello$ world $ | world$ (2 行) 上記結果によりLTRIMは左側のスペースを削除し、RTRIMは右側のスペースを削除するのが確認できます。 TRIMを使ってみる †TRIM関数は任意の文字列を削除することができます。 引数指定なしでTRIMを実行する(前後のスペース削除) †引数を指定しないでtrimを実行すると前後のスペースを削除します。 trimdb=# SELECT '^' || TRIM(c1) || '$' from trimtbl; ?column? ---------- ^hello$ ^world$ (2 行) trim(文字列)は、以下のように書くこともできます。 select trim(both from カラム名) from テーブル名; 文字列を直に設定し実行することもできます。 trimdb=# SELECT '^' || TRIM(BOTH from ' SAKURA TSUBAKI ') || '$'; ?column? ------------------ ^SAKURA TSUBAKI$ (1 行) 引数指定を指定してみる †上記ではBOTHを指定しました。
文字列を指定しトリミングする †BOTH, LEADING, TRAILINGを使用し文字列を指定してトリミングしてみる
|