【发布时间】:2021-04-14 14:31:36
【问题描述】:
我有一个带有日期字段的固定格式 .txt 文件。此字段可能有日期或为空白。我绞尽脑汁让这个字段在派生列转换中从DT_STR 转换为DT_DBDATE。我尝试了多种场景:
[CHNG_DT] == "" ? ISNULL((DT_DBDATE)[CHNG_DT] ) : (DT_DBDATE)SUBSTRING([CHNG_DT], 1, 4)) + "-" + (DB_DBDATE)(SUBSTRING(CHNG_DT], 6, 2)) + "-" + (DB_DBDATE)(SUBSTRING([CHNG_DT], 9, 2))
[CHNG_DT] == "" ? NULL(DB_DBDATE) : (DB_DBDATE)[CHNG_DT]
ISNULL([CHNG_DT]) ? NULL(DT_DBDATE) : (DT_DBDATE)((DT_STR, 10, 1252)[CHNG_DT])
ISNULL(CHNG_DT) ? NULL(DT_DBDATE) : (DT_DBDATE)((DT_STR,10,1252)CHNG_DT)
LEFT([CHNG_DT], 10) == " " ? ISNULL((DT_DBDATE)[CHNG_DT]) : (DT_DBDATE)[CHNG_DT]
(DT_DBDATE)CHNG_DT
【问题讨论】:
-
日期值以什么格式存储?能否提供数据样本?
-
文件中的日期格式为yyyy-mm-dd,也可以为空。
标签: sql-server date ssis etl derived-column