Mysql 将SQL查询中的值格式化为数字以将其导出到Excel

Mysql 将SQL查询中的值格式化为数字以将其导出到Excel,mysql,sql,Mysql,Sql,我有以下SQL表: CREATE TABLE Logistics ( country TEXT, Costs_Inbound CHAR(255), Costs_Storage CHAR(255), Costs_Outbound CHAR(255) ); INSERT INTO Logistics (country, Costs_Inbound, Costs_Storage, Costs_Outbound) VALUES ("DE", "5000", "30

我有以下SQL表:

CREATE TABLE Logistics (
    country TEXT,
    Costs_Inbound CHAR(255),
    Costs_Storage CHAR(255),
    Costs_Outbound CHAR(255)
);


INSERT INTO Logistics 
(country, Costs_Inbound, Costs_Storage, Costs_Outbound)
VALUES 
("DE", "5000", "300", "600500.815523"),
("NL", "3000", "650", "250452.454"), 
("FR", "4000", "120", "750060.935775272");
我使用以下查询从表中获取Costs_Outbound:

SELECT country,
TRIM(TRAILING '0' FROM FORMAT(sum(Costs_Outbound), 255 ,'DE_DE')) Costs_Outbound
FROM Logistics
GROUP BY country WITH ROLLUP
您可以找到的SQL小提琴。 到目前为止,所有这些都很有效

但是,当我将这些值导出到Excel时,它们会以文本而不是数字的形式出现。我是否需要更改FORMAT函数中的某些内容,以便它们也被视为Excel导出的数字


我不确定我创建的SQL fiddle是否完全复制了我在使用MySQL Workbench的原始案例中遇到的问题,因为SQL fiddle似乎没有Excel导出功能,但我仍然希望您知道如何解决我的问题。

只需在Excel中导入,然后,使用excel格式选项将列更改为数字

为了让Excel能够识别您的德语数字格式,您可能需要检查您的区域Windows设置是否也在指定该格式的数字,因为Excel会自动为此使用Windows设置。如果是这样的话,据我所知,Excel本身没有任何设置可以为您做同样的事情。

您说我将值导出到Excel,就像导出MySQL一样。事实并非如此。你到底在做什么来实现这一点?导出的数字有数千个分隔符。这可能就是Excel将它们解释为文本而不是数字的原因。另外,看看CSV,我想看看该列是否用引号导出。为什么不使用sum呢?使用format将数据类型更改为字符串可能会导致下游应用程序将列视为字符串。此外,在导入Excel时,您可以将每列设置为特定类型,而不是auto@GordonLinoff:我希望这些值是DE_DE格式的,也被认为是数字。这就是为什么我不仅使用sum函数的原因。然而,由于我是SQL新手,我不确定这是否可能实现,或者是否需要在Excel中进行任何这些调整。