1

我已经成功地将我在 MySQL 中的表导出到带有列的 csv 中。使用 SELECT INTO OUTFILE 时,我在 Include headers 中使用了这个人的答案?

选择“ColName1”、“ColName2”、“ColName3”

联合所有

选择 ColName1、ColName2、ColName3

FROM YourTable
INTO OUTFILE '/path/outfile'

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

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

4

1 回答 1

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'
于 2013-06-18T15:55:06.833 回答