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

Azure Synapse Data Flow表达式构建器日期格式化报错求助

Azure Synapse Data Flow 日期格式转换解决方案

问题诊断

你的表达式存在两个关键错误:

  1. 列名引用错误:用单引号包裹'Start Date (BST)'会被识别为字符串常量,而非列引用。包含空格、特殊字符的列名需用方括号[]包裹。
  2. 格式参数不匹配:toTimestamp的第二个参数是原始日期字符串的格式,而非目标格式。你的原始日期格式是yyyy-MM-ddTHH:mm:ss.SSSSSS,需以此作为解析格式。

正确表达式示例

方案1:先转Timestamp再转目标字符串格式

如果需要输出字符串类型的格式化日期(无毫秒),使用以下表达式:

toString(toTimestamp([Start Date (BST)], 'yyyy-MM-dd\'T\'HH:mm:ss.SSSSSS'), 'dd/MM/yyyy HH:mm:ss')
  • toTimestamp([Start Date (BST)], 'yyyy-MM-dd\'T\'HH:mm:ss.SSSSSS'):将原始字符串列转换为Timestamp类型,其中\'T\'用于转义格式字符串中的字面量T
  • toString(..., 'dd/MM/yyyy HH:mm:ss'):将Timestamp类型转换为指定格式的字符串,自动去除毫秒部分

方案2:使用convert函数一步转换

也可以用convert函数直接完成格式转换:

convert([Start Date (BST)], 'string', 'dd/MM/yyyy HH:mm:ss', 'yyyy-MM-dd\'T\'HH:mm:ss.SSSSSS')

参数说明:

  1. 目标列:[Start Date (BST)]
  2. 输出类型:'string'
  3. 目标格式:'dd/MM/yyyy HH:mm:ss'
  4. 原始格式:'yyyy-MM-dd\'T\'HH:mm:ss.SSSSSS'

操作步骤

  1. 在Azure Synapse Data Flow中添加派生列转换
  2. 在表达式构建器中输入上述任一表达式,为新列命名(例如Formatted Start Date)
  3. 点击「预览」验证转换结果是否符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:18:18