在excel中模仿“文本到列”

Imitate "text to column" in excel

提问人:Brenda 提问时间:9/14/2023 最后编辑:Dale KBrenda 更新时间:9/14/2023 访问量:68

问:

我有一个要导出到 Excel 的 SQL 表,该表有一个“日期”格式的列,但是当信息移动到 Excel 时它无法识别它,我以这种方式获取值。

enter image description here

但是我需要它们以日期格式出现,这样

enter image description here

对于过滤,我尝试了不同的转换选项,但我仍然得到相同的结果

我试过转换为日期、varchar 等

SQL SQL Server Excel

评论

0赞 Scott Craner 9/14/2023
您如何“导出”表格?如果不想使用“文本到列”将文本转换为日期,则需要从源开始或调整导入方法。
0赞 Brenda 9/14/2023
从 excel 的 connections 部分,sql 中的表具有日期格式
0赞 Scott Craner 9/14/2023
然后,在设置与该表的连接时,选择 transform 并确保该列设置为日期/时间。然后加载。
0赞 Dale K 9/14/2023
根据问题指南,请不要发布代码、数据、错误消息等图像 - 将文本复制或输入到问题中。请保留使用图像来制作图表或演示渲染错误,这些错误无法通过文本准确描述。
0赞 Dale K 9/14/2023
“我尝试了很多不同的方法”——你需要向我们展示你尝试过的东西——也许你做错了。

答:

0赞 John Williams 9/14/2023 #1

当我尝试使用从 SQL Server 数据库获取数据 ->> 从 SQL Server 数据库中提取数据时,日期将作为 Excel 日期导入,而不是您看到的字符串。Excel 应该会自动为您转换这些内容。

如果你使用的是 SQL Server Mgt Studio 之类的东西,并复制和粘贴结果,你会得到你所看到的字符串。在这种情况下,您可以使用以下命令设置查询中的日期格式:

CAST(CAST(InvoiceDate as smalldatetime) as float) + 2

评论

1赞 John Williams 9/23/2023
我不知道为什么有人把这个答案记下来。这是一个准确的答案。SQL 字符串是将日期转换为 Excel 友好日期的标准方法。
0赞 rotabor 10/26/2023
没有人解释这种 Excel 行为。原因是区域设置。Excel 需要根据操作系统的区域设置来获取值。它与日期以及带有小数分隔符的数字有关。显然,Brenda 使用法语设置,但导入的数据是英语。