Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 日期正在SSIS中转换为月份_Date_Ssis - Fatal编程技术网

Date 日期正在SSIS中转换为月份

Date 日期正在SSIS中转换为月份,date,ssis,Date,Ssis,我有一个文本文件,其中以英国格式创建了日期,即“08/01/2014”。我使用派生列来确保日期的格式保持不变,并使用转换为日期的类型转换 (DT_DBDATE) (SUBSTRING(VOUCHER_DATE,1,2) + "-" + SUBSTRING(VOUCHER_DATE,4,2) + "-" + SUBSTRING(VOUCHER_DATE,7,4)) 因此,它应该返回2014年1月8日(dd/mm

我有一个文本文件,其中以英国格式创建了日期,即“08/01/2014”。我使用派生列来确保日期的格式保持不变,并使用转换为日期的类型转换

(DT_DBDATE) (SUBSTRING(VOUCHER_DATE,1,2) + "-" + SUBSTRING(VOUCHER_DATE,4,2) 
                                         + "-" + SUBSTRING(VOUCHER_DATE,7,4)) 
因此,它应该返回2014年1月8日(dd/mm/yyyy)的日期,但它正在将其转换为2014年8月1日。它只转换小于10的日期。如果日期是11、12或13,则与2014年1月12日类似

参见图中的示例。1月9日转换为9月1日,同时1月22日也可以

01/09/2014
01/09/2014
22/01/2014
22/01/2014
22/01/2014
22/01/2014

知道为什么吗?

我认为你做错了,
DT\u DBDATE
格式是
yyy-mm-dd
。 因此,它应该是:

(DT_DBDATE) (SUBSTRING(VOUCHER_DATE,7,4) + "-" + SUBSTRING(VOUCHER_DATE,4,2) + "-" + 
             SUBSTRING(VOUCHER_DATE,1,2)) 
资料来源:

SELECT N'08/01/2014' as VOUCHER_DATE
UNION ALL
SELECT N'01/08/2014'
结果:

VOUCHER_DATE    Stringtodate
08/01/2014       2014.01.08
01/08/2014       2014.08.01

嗨,贾斯汀,我试过了,没什么区别。源文件包含此格式08/01/2014I made SSIS包,结果为应答,工作正常,字符串转换为日期。和你们说的一样,插入Data Viewer网格并显示数据列和转换列的图片。