用于替换年份并保留日期和月份的 SSIS 表达式
SSIS expression to replace year and keep date and month
我在dd.mm.yyyy格式的原始数据文件中有一个生日字段。
我需要用 2015 年替换年份,并在读入文件时保持月份和日期相同。
目标列是日期时间格式。
我能够制定以下表达式,但它不断抛出一个我无法理解的错误。
"2015 -" + RIGHT("0" + (DT_STR,2,1252)DATEPART("mm",birthdate),2) + "-" + RIGHT("0" + (DT_STR,2,1252)DATEPART("dd",birthdate),2))
对此的任何见解都会有所帮助
使用 VS 2012,我 运行 使用值为“27.08.2014”的字符串变量 testdate 进行测试,然后在表达式任务中应用您的表达式,用 @[User::testdate] 替换生日。这导致了以下错误
"The Expression cannot be evaluated.... Attempt to parse the
expression... failed. The expression might contain an invalid toke,
an incomplete toke, or an invalid element. It might not be
well-formed, or might be missing part of a required element such as a
parenthesis."
如果您的原始数据文件是文本,那么它可能以字符串形式出现,而不是日期时间格式,即使它保留了 dd.mm.yyyy 格式。因此,如果您收到类似的错误,则需要将其视为字符串。试试下面的表达式。
"2015-" + SUBSTRING(birthdate , 4, 2 ) + "-" + SUBSTRING(birthdate ,
1, 2 )
代替 "birthdate",我在上面应用了我的 @[User::testdate] 变量(值为“27.08.2014”)并且它返回以下评估值时工作正常。
2015-08-27
之后,如果使用它来填充数据库,则可以将该值转换为日期时间 table。希望这对您有所帮助。
我在dd.mm.yyyy格式的原始数据文件中有一个生日字段。 我需要用 2015 年替换年份,并在读入文件时保持月份和日期相同。 目标列是日期时间格式。 我能够制定以下表达式,但它不断抛出一个我无法理解的错误。
"2015 -" + RIGHT("0" + (DT_STR,2,1252)DATEPART("mm",birthdate),2) + "-" + RIGHT("0" + (DT_STR,2,1252)DATEPART("dd",birthdate),2))
对此的任何见解都会有所帮助
使用 VS 2012,我 运行 使用值为“27.08.2014”的字符串变量 testdate 进行测试,然后在表达式任务中应用您的表达式,用 @[User::testdate] 替换生日。这导致了以下错误
"The Expression cannot be evaluated.... Attempt to parse the expression... failed. The expression might contain an invalid toke, an incomplete toke, or an invalid element. It might not be well-formed, or might be missing part of a required element such as a parenthesis."
如果您的原始数据文件是文本,那么它可能以字符串形式出现,而不是日期时间格式,即使它保留了 dd.mm.yyyy 格式。因此,如果您收到类似的错误,则需要将其视为字符串。试试下面的表达式。
"2015-" + SUBSTRING(birthdate , 4, 2 ) + "-" + SUBSTRING(birthdate , 1, 2 )
代替 "birthdate",我在上面应用了我的 @[User::testdate] 变量(值为“27.08.2014”)并且它返回以下评估值时工作正常。
2015-08-27
之后,如果使用它来填充数据库,则可以将该值转换为日期时间 table。希望这对您有所帮助。