将值从SQL Server导出到Excel

时间:2014-08-06 13:59:46

标签: sql sql-server excel

我住在巴西,十进制分隔符是逗号。由于一系列原因,我在SQL Server中使用点作为十进制分隔符,这与Excel不同。

话虽如此,我想知道为什么以下查询

select 1.0*5

被理解为Excel中的文本(如果是这样),复制和粘贴时,点不会转换为逗号,而

select cast(1.0*5 as float)

在Excel中被理解为浮动。

第一个查询的结果类型是什么?

更新

如果查询是

select 1.1*5

Excel单元格中复制和粘贴的结果为5.5。无法在Excel中将其转换为值。

虽然第二个查询会导致5,5。例如,我可以在Excel中使用Excel中的这个值。

1 个答案:

答案 0 :(得分:0)

如果您直接在Excel中执行此操作,则您的区域设置似乎不会将其视为带小数的操作,而是文本。如果您将区域设置更改为美国,则可能会正确解析它。

两者之间的区别在于,您实际上是在告诉值与默认值不同。所以你的区域设置被覆盖了。

Excel虽然很聪明,却倾向于做出许多可以与任意数量相关联的假设。有时你只需处理它。

最后,您的第二个查询可能会产生更好的结果。