MySQL/文字列の不要なスペースをトリミングする・TRIM・LTRIM・RTRIM
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* MySQLで文字列の不要なスペースをトリミングする・TRIM・LT...
本資料はMySQLで文字列の前後にある不要なスペースを削除する...
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 参考資料 [#ade08b67]
-MySQLのドキュメント~
[[MySQL 5.1 リファレンスマニュアル :: 11 関数と演算子 :: ...
* 関連記事 [#racb4f0a]
-[[PostgreSQLで文字列の不要なスペースをトリミングする・TR...
-[[MySQLでダブルパイプを使用して文字連結をする方法>MySQL/...
* 環境および環境設定など [#l5eb6958]
使用したOSはCentOS6になります。~
MySQLのバージョンは以下のとおりです。
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.1.66 |
+-----------+
1 row in set (0.01 sec)
以下のSQLを実行し、データベースおよびテーブルを作成しデー...
mysql> create database trimdb;
Query OK, 1 row affected (0.00 sec)
mysql> use trimdb
Database changed
mysql> create table trimtbl (c1 varchar(10));
Query OK, 0 rows affected (0.09 sec)
mysql> insert into trimtbl values(' hello '),(' world ...
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from trimtbl;
+-----------+
| c1 |
+-----------+
| hello |
| world |
+-----------+
2 rows in set (0.00 sec)
* LTRIM, RTRIMを使ってみる。 [#na626028]
作成したテーブルを使用してLTRIM, RTRIMを使用してみます。
concat関数で$を末尾に連結しています。~
これは、LTRIM, RTRIMで末尾が削除されているかを確認するた...
mysql> select concat(ltrim(c1),'$'), concat(rtrim(c1),'$...
+-----------------------+-----------------------+
| concat(ltrim(c1),'$') | concat(rtrim(c1),'$') |
+-----------------------+-----------------------+
| hello $ | hello$ |
| world $ | world$ |
+-----------------------+-----------------------+
2 rows in set (0.00 sec)
上記結果によりLTRIMは左側のスペースを削除し、RTRIMは右側...
* TRIMを使ってみる [#gdd28209]
TRIM関数は任意の文字列を削除することができます。
** 引数指定なしでTRIMを実行する(前後のスペース削除) [#g58...
引数を指定しないでtrimを実行すると前後のスペースを削除し...
mysql> select concat(trim(c1),'$'), concat(trim(c1),'$')...
+----------------------+----------------------+
| concat(trim(c1),'$') | concat(trim(c1),'$') |
+----------------------+----------------------+
| hello$ | hello$ |
| world$ | world$ |
+----------------------+----------------------+
2 rows in set (0.00 sec)
trim(文字列)は、以下のように書くこともできます。
select trim(both from カラム名) from テーブル名;
文字列を直に設定し実行することもできます。
mysql> select trim(' HELLO WORLD ');
+-----------------------+
| trim(' HELLO WORLD ') |
+-----------------------+
| HELLO WORLD |
+-----------------------+
1 row in set (0.00 sec)
mysql> select trim(both from ' HELLO WORLD ');
+---------------------------------+
| trim(both from ' HELLO WORLD ') |
+---------------------------------+
| HELLO WORLD |
+---------------------------------+
1 row in set (0.00 sec)
** 引数指定を指定してみる [#db1f93e1]
上記ではBOTHを指定しました。~
以下では、LEADING, TRAILINGを使用した例を記します。
- LEADINGはLTRIMと同じ動作
mysql> SELECT CONCAT(TRIM(LEADING FROM ' HELLO WORLD '...
+---------------------------------------------------+
| CONCAT(TRIM(LEADING FROM ' HELLO WORLD '), '$') |
+---------------------------------------------------+
| HELLO WORLD $ |
+---------------------------------------------------+
1 row in set (0.00 sec)
- TRAILINGはRTRIMと同じ動作
mysql> SELECT CONCAT(TRIM(TRAILING FROM ' HELLO WORLD ...
+----------------------------------------------------+
| CONCAT(TRIM(TRAILING FROM ' HELLO WORLD '), '$') |
+----------------------------------------------------+
| HELLO WORLD$ |
+----------------------------------------------------+
1 row in set (0.00 sec)
** 文字列を指定しトリミングする [#x45c1ffa]
BOTH, LEADING, TRAILINGを使用し文字列を指定してトリミング...
- BOTH
BOTHの場合は指定した文字列(abc)を先頭と末尾から削除します...
以下の実行例はabcSAKURAabcがSAKURAになります。
mysql> SELECT TRIM(BOTH 'abc' FROM 'abcSAKURAabc');
+--------------------------------------+
| TRIM(BOTH 'abc' FROM 'abcSAKURAabc') |
+--------------------------------------+
| SAKURA |
+--------------------------------------+
1 row in set (0.00 sec)
- LEADING
LEADINGの場合は指定した文字列(abc)を先頭(左側)から削除し...
以下の実行例はabcSAKURAabcがSAKURAabcになります。
mysql> SELECT TRIM(LEADING 'abc' FROM 'abcSAKURAabc');
+-----------------------------------------+
| TRIM(LEADING 'abc' FROM 'abcSAKURAabc') |
+-----------------------------------------+
| SAKURAabc |
+-----------------------------------------+
1 row in set (0.00 sec)
- TRAILING
TRAILINGの場合は指定した文字列(abc)を先頭(左側)から削除し...
以下の実行例はabcSAKURAabcがabcSAKURAになります。
mysql> SELECT TRIM(TRAILING 'abc' FROM 'abcSAKURAabc');
+------------------------------------------+
| TRIM(TRAILING 'abc' FROM 'abcSAKURAabc') |
+------------------------------------------+
| abcSAKURA |
+------------------------------------------+
1 row in set (0.00 sec)
#htmlinsertpcsp(db-btm.html,db-sp.html)
終了行:
#navi(../)
* MySQLで文字列の不要なスペースをトリミングする・TRIM・LT...
本資料はMySQLで文字列の前後にある不要なスペースを削除する...
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 参考資料 [#ade08b67]
-MySQLのドキュメント~
[[MySQL 5.1 リファレンスマニュアル :: 11 関数と演算子 :: ...
* 関連記事 [#racb4f0a]
-[[PostgreSQLで文字列の不要なスペースをトリミングする・TR...
-[[MySQLでダブルパイプを使用して文字連結をする方法>MySQL/...
* 環境および環境設定など [#l5eb6958]
使用したOSはCentOS6になります。~
MySQLのバージョンは以下のとおりです。
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.1.66 |
+-----------+
1 row in set (0.01 sec)
以下のSQLを実行し、データベースおよびテーブルを作成しデー...
mysql> create database trimdb;
Query OK, 1 row affected (0.00 sec)
mysql> use trimdb
Database changed
mysql> create table trimtbl (c1 varchar(10));
Query OK, 0 rows affected (0.09 sec)
mysql> insert into trimtbl values(' hello '),(' world ...
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from trimtbl;
+-----------+
| c1 |
+-----------+
| hello |
| world |
+-----------+
2 rows in set (0.00 sec)
* LTRIM, RTRIMを使ってみる。 [#na626028]
作成したテーブルを使用してLTRIM, RTRIMを使用してみます。
concat関数で$を末尾に連結しています。~
これは、LTRIM, RTRIMで末尾が削除されているかを確認するた...
mysql> select concat(ltrim(c1),'$'), concat(rtrim(c1),'$...
+-----------------------+-----------------------+
| concat(ltrim(c1),'$') | concat(rtrim(c1),'$') |
+-----------------------+-----------------------+
| hello $ | hello$ |
| world $ | world$ |
+-----------------------+-----------------------+
2 rows in set (0.00 sec)
上記結果によりLTRIMは左側のスペースを削除し、RTRIMは右側...
* TRIMを使ってみる [#gdd28209]
TRIM関数は任意の文字列を削除することができます。
** 引数指定なしでTRIMを実行する(前後のスペース削除) [#g58...
引数を指定しないでtrimを実行すると前後のスペースを削除し...
mysql> select concat(trim(c1),'$'), concat(trim(c1),'$')...
+----------------------+----------------------+
| concat(trim(c1),'$') | concat(trim(c1),'$') |
+----------------------+----------------------+
| hello$ | hello$ |
| world$ | world$ |
+----------------------+----------------------+
2 rows in set (0.00 sec)
trim(文字列)は、以下のように書くこともできます。
select trim(both from カラム名) from テーブル名;
文字列を直に設定し実行することもできます。
mysql> select trim(' HELLO WORLD ');
+-----------------------+
| trim(' HELLO WORLD ') |
+-----------------------+
| HELLO WORLD |
+-----------------------+
1 row in set (0.00 sec)
mysql> select trim(both from ' HELLO WORLD ');
+---------------------------------+
| trim(both from ' HELLO WORLD ') |
+---------------------------------+
| HELLO WORLD |
+---------------------------------+
1 row in set (0.00 sec)
** 引数指定を指定してみる [#db1f93e1]
上記ではBOTHを指定しました。~
以下では、LEADING, TRAILINGを使用した例を記します。
- LEADINGはLTRIMと同じ動作
mysql> SELECT CONCAT(TRIM(LEADING FROM ' HELLO WORLD '...
+---------------------------------------------------+
| CONCAT(TRIM(LEADING FROM ' HELLO WORLD '), '$') |
+---------------------------------------------------+
| HELLO WORLD $ |
+---------------------------------------------------+
1 row in set (0.00 sec)
- TRAILINGはRTRIMと同じ動作
mysql> SELECT CONCAT(TRIM(TRAILING FROM ' HELLO WORLD ...
+----------------------------------------------------+
| CONCAT(TRIM(TRAILING FROM ' HELLO WORLD '), '$') |
+----------------------------------------------------+
| HELLO WORLD$ |
+----------------------------------------------------+
1 row in set (0.00 sec)
** 文字列を指定しトリミングする [#x45c1ffa]
BOTH, LEADING, TRAILINGを使用し文字列を指定してトリミング...
- BOTH
BOTHの場合は指定した文字列(abc)を先頭と末尾から削除します...
以下の実行例はabcSAKURAabcがSAKURAになります。
mysql> SELECT TRIM(BOTH 'abc' FROM 'abcSAKURAabc');
+--------------------------------------+
| TRIM(BOTH 'abc' FROM 'abcSAKURAabc') |
+--------------------------------------+
| SAKURA |
+--------------------------------------+
1 row in set (0.00 sec)
- LEADING
LEADINGの場合は指定した文字列(abc)を先頭(左側)から削除し...
以下の実行例はabcSAKURAabcがSAKURAabcになります。
mysql> SELECT TRIM(LEADING 'abc' FROM 'abcSAKURAabc');
+-----------------------------------------+
| TRIM(LEADING 'abc' FROM 'abcSAKURAabc') |
+-----------------------------------------+
| SAKURAabc |
+-----------------------------------------+
1 row in set (0.00 sec)
- TRAILING
TRAILINGの場合は指定した文字列(abc)を先頭(左側)から削除し...
以下の実行例はabcSAKURAabcがabcSAKURAになります。
mysql> SELECT TRIM(TRAILING 'abc' FROM 'abcSAKURAabc');
+------------------------------------------+
| TRIM(TRAILING 'abc' FROM 'abcSAKURAabc') |
+------------------------------------------+
| abcSAKURA |
+------------------------------------------+
1 row in set (0.00 sec)
#htmlinsertpcsp(db-btm.html,db-sp.html)
ページ名: