ここではMySQLで、改行文字コードを登録・除去(置換)する方法を紹介しています。
改行文字コードを登録する方法
改行コードの種類
改行コードの種類と正規表現は次の3つです。
・CRLF:\r\n
・CR:\r
・LF:\n
改行コードを登録する方法
次のテーブルを作成し、COL2列に改行文字コードを登録していきます。
CREATE TABLE tab(
col1 varChar(10)
, col2 varChar(100)
);
改行文字を登録するには、次のようにSQLを実行します。
mysql> INSERT INTO tab VALUES('00001','あいう\r\nえお');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tab VALUES('00002','あいう\nえお');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tab VALUES('00003','あいう\rえお');
Query OK, 1 row affected (0.01 sec)
改行文字コードが登録された値を確認すると次のようになります。
mysql> SELECT * FROM tab;
+-------+--------------+
| col1 | col2 |
+-------+--------------+
| 00001 | あいう
えお |
| 00002 | あいう
えお |
えお | | あいう
+-------+--------------+
3 rows in set (0.00 sec)
改行文字コードを除去 (置換) する方法
改行文字コードを除去(置換)するには、REPLACE関数を使います。
mysql> UPDATE tab SET col2 = REPLACE(col2,'\r\n','');
Query OK, 1 row affected (0.01 sec)
Rows matched: 3 Changed: 1 Warnings: 0
mysql> UPDATE tab SET col2 = REPLACE(col2,'\r','');
Query OK, 1 row affected (0.01 sec)
Rows matched: 3 Changed: 1 Warnings: 0
mysql> UPDATE tab SET col2 = REPLACE(col2,'\n','');
Query OK, 1 row affected (0.01 sec)
Rows matched: 3 Changed: 1 Warnings: 0
改行文字コードを除去(置換)した結果は次のようになります。
mysql> SELECT * FROM tab;
+-------+------------+
| col1 | col2 |
+-------+------------+
| 00001 | あいうえお |
| 00002 | あいうえお |
| 00003 | あいうえお |
+-------+------------+
3 rows in set (0.00 sec)
REPLACE関数を1文にして実行することも出来ました。
mysql> UPDATE tab SET col2 = REPLACE(REPLACE(REPLACE(col2,'\r\n',''),'\r',''),'\n','');
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> SELECT * FROM tab;
+-------+------------+
| col1 | col2 |
+-------+------------+
| 00001 | あいうえお |
| 00002 | あいうえお |
| 00003 | あいうえお |
+-------+------------+
3 rows in set (0.00 sec)