2012-02-06 12 views
2

通常、mysqlサーバからCSVレポートをエクスポートするには、&をサーバにクエリを実行し、結果をテキストファイルに保存し、パイプで区切られた文字を使用して列を区切ります。SELECT mysqlクエリを使用してCSVファイルにデータをエクスポート

カンマ文字と改行(\ n)を含むMEDIUMTEEXT列タイプのテーブルでレポートを実行する必要があります。

改行とカンマの記号がテーブルレイアウトを壊しています。

SELECT `number`,REPLACE(`description`, ',', ''), mr.`dateInserted` FROM 
`mr` WHERE mr.dateInserted >= '2012-01-01' AND mr.dateInserted <= '2012-01-31' 

しかし私は、どのように私は結果から改行を削除することができ、MySQLのREPLACE機能を使って、コンマの問題を解決しましたか?

答えて

1

CHAR(13)

CHAR(10)、キャリッジリターンである改行

は最小抵抗のパスの機能を置き換える:)

SELECT 
    `number`, 
    REPLACE(REPLACE(REPLACE(`description`, ',', ''), CHAR(13),''), CHAR(10),''), 
    mr.`dateInserted` 
FROM 
    `mr` 
WHERE 
    mr.dateInserted >= '2012-01-01' 
AND 
    mr.dateInserted <= '2012-01-31' 
2

クエリでこれを行うことができます。例を示します。

SELECT 
    id, 
    name, 
    email 
INTO 
    OUTFILE '/tmp/result.csv' 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY ‘\\’ 
LINES TERMINATED BY '\n' 
FROM users WHERE 1 
+0

ネストを試しています私はそれを試みたと思う、そのアプローチの問題は、それがローカルにファイルを保存し、アマゾンRDSインスタンス – aporat

+0

ああ、それはあまりにも悪いです。 – thenetimp

関連する問題