2016-04-08 79 views
0

我正在从SSIS中的数据流任务调用存储过程,其中我选择了日期时间字段的HOUR日期部分。 (从存储过程下面的代码)从SSIS导出中不显示正确格式的CSV

SELECT 
DATEPART (HOUR, R.received_date) AS [Hour] , 
CONVERT (VARCHAR(10), R.received_date, 101) AS [Date] , 
COUNT (R.id) AS [NumberofFilings] 

在我的数据流任务,我有我调用存储过程的OLE DB源任务:

stored proc

当我预览与OLE DB源任务中的数据,数据的模样我希望 - 用小时列显示0之间& 24的整数:source preview

我将结果导出到CSV文件并且小时变成日期时间字段,其值变成'1/11/1900 0:00',这不是我所期望的。

在我的平面文件目标连接管理器中,我将Hour属性设置为四字节有符号整数,但小时不会显示为整数,而会显示为日期时间。

Advanced Properties

FF Source Preview

我试过其它数据类型为小时列,但没有将它转换为一个整数/字符。任何建议?

+0

你如何查看csv文件以确定Hour字段是日期时间?它不会在Excel中,有没有可能? –

+0

是的,就是这样。但是如果我在EmEditor中打开它,我仍然可以看到日期时间字段,而不仅仅是小时。 – MISNole

+0

如果您在记事本中打开它,该怎么办?没有首先在Excel中打开它,这可能会节省一些Excel驱动的更改。 –

回答

0

如果您在Excel中打开.csv文件,我怀疑Excel正在查看名为“Hour”的列,并且在想“必须是日期时间字段,我只是帮助我的用户出来, “。

尝试在记事本中打开.csv文件,看看实际内容是什么样子。

编辑:

我无法重现您的结果。当我跟随你的脚步,我得到一个CSV文件看起来像这样在记事本中:

"Col1","Col2" 
"0","04/05/2016" 
"0","04/02/2016" 
"0","04/01/2016" 
... 

你必须做的事情,你是不是包括你对问题的描述。

或者您的包可能已损坏。你可以尝试从头开始重新构建它以消除这种可能性。

但我已经测试并证明你正在努力做的事情应该能够工作。

+0

我试过了,看起来一样 - 值存储为日期时间。谢谢, – MISNole

+0

在您的DataSource的高级属性中,输出列“​​Hour”(或当前命名的任何内容)的数据类型是什么? –

+0

它目前设置为四字节有符号整数,但我也尝试过其他类型:数字,Unicode,文本等。 – MISNole