【发布时间】:2016-07-29 14:45:28
【问题描述】:
我正在尝试运行一个 SSIS 程序来获取一些日志记录数据并将其导出到 Excel 以供以后与 BI 工具一起使用。数据有 3 个时间字段,开始时间、结束时间和运行时间。从我的脚本组件中出来,它们似乎是正确的。当我使用 dataviewer 工具时,它看起来很完美
但是当我进入 Excel 时,我得到了这种格式。
我不确定是什么原因造成的,也不知道如何解决。我唯一能注意到的是源高级编辑器中的一个属性将列数据类型设置为日期。
但每次我尝试将其更改为 DB_TIME 类型(与来自脚本的类型相同)时,它都会切换回日期数据类型。
有没有办法阻止添加此日期?它使 BI 工具的使用变得不可能。任何帮助将不胜感激。
【问题讨论】:
-
在进行导出(通过查询)之前,您是否尝试过将结果转换为 nvarchar?通过这种方式,excel将信息视为具有您想要的格式的字符串
-
我没有。你能解释一下这是怎么做到的吗?
-
在您的查询中使用 CONVERT(NVARCHAR,starttime,103) 作为开始时间(例如 DD/MM/YYYYY),您可以找到有关格式here 的更多信息,通过这种方式导出数据以具有相同格式的字符串的形式表现出色。那么 Excel 将不会将字段识别为日期,而是将其识别为字符串
-
.NET 没有时间类型。更改目标类型不会将 System.DateTime 转换为 DB_TIME 或自动剪切日期值。您需要转换为 DT_DBTIME
标签: sql-server excel visual-studio ssis