我正在尝试将 2023-01-02T00:00 格式的 varchar 日期转换为 SSIS 中的 DT_DBTIMESTAMP。目前,我在派生列转换中使用此表达式:
(DT_DBTIMESTAMP)(SUBSTRING([start_at], 1, 4) + "-" + SUBSTRING([start_at], 6, 2) + "-" + SUBSTRING([start_at], 9, 2) + " " + SUBSTRING([start_at], 12, 5) + ":00")
这工作正常,但遇到 NULL 值时会失败。为了处理 NULL,我尝试修改表达式,如下所示:
ISNULL([start_at]) ? NULL(DT_DBTIMESTAMP) : (DT_DBTIMESTAMP)(SUBSTRING([start_at], 1, 4) + "-" + SUBSTRING([start_at], 6, 2) + "-" + SUBSTRING([start_at], 9, 2) + " " + SUBSTRING([start_at], 12, 5) + ":00")
但是,这个表达式并没有按预期工作。关于在此转换中处理 NULL 值有什么建议吗?