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
SSIS:字符串(varchar)到日期的转换_Ssis - Fatal编程技术网

SSIS:字符串(varchar)到日期的转换

SSIS:字符串(varchar)到日期的转换,ssis,Ssis,我需要在SSIS上实现日期格式yyyy mm dd转换 我尝试了以下代码,但不断出现错误: year and posting_period is a varchar(50) on my source data. 有关我的源的示例数据: 年=2014年 过账期=始终为两位数 我在下面的代码中遗漏了什么 (DT_DBDATE)((DT_WSTR,4)year + "-" + (DT_WSTR,2)posting_period + "-" + "01") 您需要将变量的数据类型设置为datetim

我需要在SSIS上实现日期格式yyyy mm dd转换

我尝试了以下代码,但不断出现错误:

year and posting_period is a varchar(50) on my source data.
有关我的源的示例数据:

=2014年

过账期=始终为两位数

我在下面的代码中遗漏了什么

(DT_DBDATE)((DT_WSTR,4)year + "-" + (DT_WSTR,2)posting_period + "-" + "01")

您需要将变量的数据类型设置为datetime;将字符串封装在括号中;并将其转换为DT_日期:

(日期)(@[User::Year]+“-”+@[User::posting\u period]+“-01”)


据我所知,您无法指定日期时间的显示方式。因此,这将计算为MM/DD/YYYY,这很好。您不必担心数据库中日期的格式。您应该只关心它在报告工具中的显示方式,该工具通常允许您以多种不同的方式转换或强制转换日期。

年和过账期是我的源数据上的varchar(50)。
不是错误消息。如果
year
posting\u period
是strings@PanagiotisKanavos转换语句应该是什么呢?将部分转换成数字并使用
DateSerial
从数据构造日期要安全得多parts@PanagiotisKanavos我拿不到它,我怎样才能把它转换成我的需要使用派生列的日期格式请输入实际错误消息。