在MySQL查询中键入检查

时间:2011-10-21 17:57:55

标签: mysql sql csv into-outfile

所以我用来运行以下查询将我的表转储到CSV文件:

SELECT * INTO OUTFILE 'testout.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
FROM dbname.tblname;

这样可以正常工作,但所有字段都被双引号括起来。我想得到它,以便只有varchar(即字符串)字段被输出中的引号包围。有没有简单的方法来做到这一点?它可能会以某种方式涉及查询中的类型检查字段,但我没有丝毫知道如何处理它。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果你有OPTIONALLY ENCLOSED BY它应该已经按你的意愿做了:

  

如果指定OPTIONALLY,则ENCLOSED BY字符仅用于包含具有字符串数据类型的列(例如CHAR,BINARY,TEXT或ENUM)的值:

1,"a string",100.20
2,"a string containing a , comma",102.20
3,"a string containing a \" quote",102.20
4,"a string containing a \", quote and comma",102.20

您确定每列都没有varchar列吗?