SSIS仅获取作为日期时间的派生列的Year



我需要将FORM_YEAR设为派生列的年份。派生列称为Invoice_Document_Date,其数据类型为DateTime,所以我只想获取年份。对于我的表达,我写了YEAR(dc_Invoice_Document_Date),但这似乎不对。我缺少了什么才能使这个表达成功?

确保列SSIS数据类型不是DT_DBTIMESTAMPOFFSETDT_DBTIMESTAMP2。由于在官方文件中他们提到:

当日期文字显式转换为以下日期数据类型之一时,表达式无法验证:DT_DBTIMESTAMPOFFSET和DT_DBTIMESTAMP2。

您可以尝试将dc_Invoice_Document_Date转换为DT_DATEDT_DBDATEDT_DBTIMESTAMP数据类型。例如:

YEAR((DT_DBTIMESTAMP)[dc_Invoice_Document_Date]))

您也可以使用DATEPART((函数,如下所示:

DATEPART("yy",[dc_Invoice_Document_Date]))

最新更新