我目前正在Azure Data Factory中使用一组CSV日志文件,我需要对其进行处理并输入到SQL表中。
问题是某些列包含时间戳,其中年份用2位数字表示(而不是完整的4位数字的年份)。
例如01/03/17 22:10:33
的日期格式为MM/dd/yy HH:mm:ss
如何将其转换为日期或将'20'添加到年份中? (例如01/03/17 22:10:33
会变成01/03/2017 22:10:33
)。这在代码中非常简单,但是我不确定如何在Azure数据工厂的数据流中实现它。
编辑:如@ HimanshuSinha-msft所述,必须先删除撇号才能解析。我向数据流添加了以下额外步骤:toTimestamp(substring({Column Name},2,length({Column Name})-1), 'MM/dd/yy hh:mm:ss')
,它起作用了!
答案 0 :(得分:0)
ADF数据流完全支持Java标准日期/时间格式化程序。在您的情况下,您可以按原样转换toTimestamp()以使日期/时间组件对齐,然后按如下所示转换为您希望通过toString()实现的输出字符串:
toString(toTimestamp('01 / 03/17 22:10:33','MM / dd / yy HH:mm:ss'),'MM / dd / yyyy HH:mm:ss')
更多详细信息:
https://docs.microsoft.com/en-us/azure/data-factory/data-flow-expression-functions#totimestamp
答案 1 :(得分:0)
这对我来说是个障碍,但试试这个-
选择您想要的任何已定义格式。