为MySQL导出到csv添加额外的列?

时间:2013-06-18 15:42:14

标签: mysql csv export

我已成功将MySQL中的表导出到带有列的csv。我在Include headers when using SELECT INTO OUTFILE?

使用了这个人的答案
  

SELECT'ColName1','ColName2','ColName3'

     

UNION ALL

     

SELECT ColName1,ColName2,ColName3

FROM YourTable
INTO OUTFILE '/path/outfile'

但是,我想将查询公式导出为要添加到csv文件的新列。我尝试在第二个SELECT语句后添加一个额外的计算列。 MySQL给了我一个错误说“使用的SELECT语句有不同的列数”。

示例公式:SELECT CAST((ColName1 * ColName2) AS DECIMAL(7,2)) AS ColNameX。我不确定在我的导出声明中输入它的位置。

1 个答案:

答案 0 :(得分:0)

要使UNION工作,您必须具有相同数量的列,并且它们必须属于同一类型。在将标题行创建为文本时,第二个查询中的所有列也必须是文本。像这样:

SELECT 'ColName1', 'ColName2', 'ColName3', 'New Column'
UNION ALL
SELECT 
  ColName1
  ,ColName2
  ,ColName3
  ,CAST(CAST((ColName1 * ColName2) AS DEC(5,2)) AS CHAR)
FROM YourTable
INTO OUTFILE '/path/outfile'