You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Data Factory中如何将ISO8601字符串转换为datetime2?

Azure Data Factory 转换Cosmos DB时间戳为datetime2类型

针对你遇到的Cosmos DB带时区的时间戳字符串转Azure SQL datetime2类型的问题,直接在派生列中使用以下表达式即可实现需求:

假设原时间戳字段名为timestamp_str,派生列的表达式为:

toString(toTimestamp(timestamp_str), 'yyyy-MM-dd''T''HH:mm:ss.fffffff')

关键说明:

  • toTimestamp:能够正确解析包含UTC时区(+00:00)的ISO格式时间字符串,转换成ADF可处理的时间戳类型。
  • toString:将时间戳按照指定格式输出,其中fffffff对应7位毫秒精度,正好匹配Azure SQL datetime2(7)的精度要求,输出格式与你期望的2024-01-08T00:00:42.0000000完全一致。
  • 配置派生列时,需将该列的数据类型设置为datetime2(7),确保写入Azure SQL时类型匹配。

如果原字段存在空值,可增加空值判断避免报错:

iif(isNull(timestamp_str), null, toString(toTimestamp(timestamp_str), 'yyyy-MM-dd''T''HH:mm:ss.fffffff'))

内容的提问来源于stack exchange,提问作者Anay Purohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:54:52