微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Azure数据工厂中将具有一个时间戳的列转换为另一个时间戳

如何解决如何在Azure数据工厂中将具有一个时间戳的列转换为另一个时间戳

我有一个 ABC ,其中时间戳的格式为dd / MM / yyyy HH:mm:SS(11/04/2020 1:17:40)。我想创建另一个 ABC_NEW ,其数据与旧列相同,但时间戳记为'yyyy-MM-dd HH:mm:SS'。我尝试使用azure数据工厂派生列进行操作

toTimestamp(column_name,'yyyy-MM-dd HH:mm:SS')但没有用,它将作为NULL出现。有人可以帮忙吗?

解决方法

这是一个两步过程。您首先需要告诉ADF时间戳列中的每个字段代表什么,然后您可以使用字符串转换将时间戳转换为所需的输出字符串:

toString(toTimestamp('11 / 04/2020 1:17:40','MM / dd / yyyy HH:mm:ss'),'yyyy-MM-dd HH:mm:SS')

,

Data Factory不支持日期格式“ dd / mm / yyyy”,我们无法将其直接转换为“ YYYY-MM-DD”。
我使用 DerivedColumn 从原始列 DateTime 生成一个新列 ABC_NEW 并输入以下表达式:

toTimestamp(concat(split(substring(DateTime,1,10),'/')[3],'-',split(substring(DateTime,'/')[2],'/')[1],substring(DateTime,11,length(DateTime))))

enter image description here

结果显示:

enter image description here

,

这对我来说是个障碍,但试试这个-

  1. 去下沉
  2. 映射
  3. 点击输出格式
  4. 选择您希望将数据存储到接收器中的数据格式或时间格式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。