首页 文章

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

提问于
浏览
1

我已成功将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给了我一个错误说"The used SELECT statements have a different number of columns" .

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

1 回答

  • 0

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

    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'
    

相关问题