我对SQL很缺乏经验,所以对我的问题应该有一个简单的解决方案: 我在一个以逗号分隔的文件中选择一个表,而TEXT类型的列有换行符,所以当我尝试将我的csv导入Excel时,它会在换行符后面的每一段文本中创建单独的行。
这是我的问题:
SELECT * FROM `db`.`table` INTO OUTFILE 'c:\\result.txt' FIELDS TERMINATED BY ','
ESCAPED BY '\\' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ;
然后在Excel中我导入为逗号分隔文件,这会导致包含带换行符的文本的列出现问题。
任何帮助表示赞赏!
答案 0 :(得分:4)
或许用双引号括起来。
SELECT * FROM db.table INTO OUTFILE 'c:/result.txt' FIELDS TERMINATED BY ',' ESCAPED BY '\\' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
答案 1 :(得分:1)
Novikov是正确的,但您也可以在导出时转义新行字符。
SELECT REPLACE(`fieldname1`,'\n','\\n'),`fieldname2` FROM db.table INTO OUTFILE 'c:/result.txt' FIELDS TERMINATED BY ',' ESCAPED BY '\\' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
然后,这将用文本字符串'\ n'替换所有新行字符。但这可能不是您想要的输出。
DC