はじめに
Webアプリ開発で、DBから取得したデータをCSV形式でエクスポートする機能を実装したのですが、エクスポートしたCSVの形式が崩れていることがありました。
CSVの中身を確認したところ、予期せず改行されている場所が何箇所かあり、その原因がDBの特定列の値に改行コードが含まれてしまっていることだと特定することができました。
上記に対して、「SQLのSelect文でデータを取得する際に改行コードを削除する」という方法で対応したので、そのSQL文を記載します。
改行コード削除を含めたSelect文
employeeテーブルからid, name, department列のデータを取得することを想定します。仮に、department列に入っている改行コードを削除したい場合は、下記のSelect文で対応可能です。
SELECT id, name, REPLACE(REPLACE(REPLACE(department, '\r', ''), '\r\n',''),'\n', '') AS depertment FROM employee;
おわりに
正規表現を使って置換する方法などもあると思いますが、とりあえず私はこの方法で対応してみました。