3

我的sms表的架构是 - sms( id , mobileNumber, text)

其中 text 是text类型。

其中一行有以下文字 -

Foo bar\nLorem ipsum dolor sit amet.\n\nconsectetur adipisicing elit, said:\n\n\" sed do eiusmod tempor incididunt ut labore et dolore magna aliqua don\'t \"

当我运行此查询时 -

select 'SMS ID', 'Mobile Number', 'SMS Text' 
union 
select id, ifnull(mobileNumber, 'Not Available'), text 
from sms
into outfile '/tmp/SMSUsage.csv' 
fields terminated by ',' enclosed by '"' 
lines terminated by '\n';

并在Libreoffice中打开 CSV 文件,我会在多个单元格中看到文本,例如 -

Foo bar\\\\nLorem ipsum dolor sit amet.\\\\n\\\\nconsectetur adipisicing elit, said:\n\n\

在一个列中,然后将上述句子后面的每个单词放入一个单独的列中。

另外为什么在'\n'之前要多加三个'\'?如何在单个单元格中获取文本?

4

1 回答 1

1

试试这个:

SELECT 'SMS ID', 'Mobile Number', 'SMS Text' 
UNION 
    SELECT id, IFNULL(mobileNumber, 'Not Available'), text 
    FROM sms
INTO OUTFILE '/tmp/SMSUsage.csv' 
FIELDS TERMINTATED by ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"' 
LINES TERMINATED BY '\n';
于 2013-04-05T22:05:31.587 回答