Azure 数据工厂 'Data Flow' 使用派生列的多种日期格式的时间转换
Azure Data Factory 'Data Flow' time conversion for multiple Date Formats using Derived Column
开发在Azure数据工厂——数据流
- 我得到一个包含多列和一列 DateFormat ('MM/dd/yyyy'T'HH:mm:ss').[=33 的输入文件=]
- 我正在尝试将上述 DateFormat 转换为 toTimestamp('yyyy-MM-dd HH:mm:ss.SSS')
- 我在 派生列 选项卡中尝试使用以下格式,在下面的接收器中所需的特定列上是用于转换这种情况的表达式。
iifNull(toTimestamp(<string_column_name>,'MM/dd/yyyy\'T\'HH:mm:ss'), toTimestamp(<string_column_name>,'yyyy-MM-dd HH:mm:ss.SSS'))
- 作为参考,我附上了输入文件中的样本日期格式
01/26/2018 00:00:00
.
- Ref 4, 应转换为
2018-01-26 00:00:00
. 格式
您提供的日期 01/26/2018 00:00:00
的格式是 'MM/dd/yyyy HH:mm:ss'
,您的表达式中未包含该格式。这导致你得到了 Null。如果你的列也有 'MM/dd/yyyy'T'HH:mm:ss' 和 'yyyy-MM-dd HH:mm:ss.SSS' 格式,你可以试试这个表达式:
iifNull(toTimestamp(<string_column_name>,'MM/dd/yyyy\'T\'HH:mm:ss'), toTimestamp(<string_column_name>,'yyyy-MM-dd HH:mm:ss.SSS'),toTimestamp(<string_column_name>,'MM/dd/yyyy HH:mm:ss'))
数据预览:
开发在Azure数据工厂——数据流
- 我得到一个包含多列和一列 DateFormat ('MM/dd/yyyy'T'HH:mm:ss').[=33 的输入文件=]
- 我正在尝试将上述 DateFormat 转换为 toTimestamp('yyyy-MM-dd HH:mm:ss.SSS')
- 我在 派生列 选项卡中尝试使用以下格式,在下面的接收器中所需的特定列上是用于转换这种情况的表达式。
iifNull(toTimestamp(<string_column_name>,'MM/dd/yyyy\'T\'HH:mm:ss'), toTimestamp(<string_column_name>,'yyyy-MM-dd HH:mm:ss.SSS'))
- 作为参考,我附上了输入文件中的样本日期格式
01/26/2018 00:00:00
. - Ref 4, 应转换为
2018-01-26 00:00:00
. 格式
您提供的日期 01/26/2018 00:00:00
的格式是 'MM/dd/yyyy HH:mm:ss'
,您的表达式中未包含该格式。这导致你得到了 Null。如果你的列也有 'MM/dd/yyyy'T'HH:mm:ss' 和 'yyyy-MM-dd HH:mm:ss.SSS' 格式,你可以试试这个表达式:
iifNull(toTimestamp(<string_column_name>,'MM/dd/yyyy\'T\'HH:mm:ss'), toTimestamp(<string_column_name>,'yyyy-MM-dd HH:mm:ss.SSS'),toTimestamp(<string_column_name>,'MM/dd/yyyy HH:mm:ss'))
数据预览: