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

如何使用Azure Data Factory表达式将字符串转换为time(7)类型?

解决纯时间字符串转time(7)类型的问题

你遇到的问题根源在于 toTimeStamp() 函数的定位:它是用来转换包含日期+时间的完整字符串为时间戳类型的,而你现在只有"07:00"这种纯时间字符串,缺少日期部分,所以调用后返回NULL是正常的。

以下是几种可行的转换方法:

  • 使用专门的纯时间转换函数:
    多数ETL工具或SQL环境都提供了针对纯时间类型的转换函数,比如 toTime()(以Azure Data Factory为例),直接传入拆分后的时间字符串即可:

    toTime("07:00")
    

    这个函数会直接将字符串转换为time类型,完美匹配目标列的time(7)精度。

  • 直接CAST强制转换:
    如果你的环境支持,可以直接用CAST语法将字符串强制转为time(7)类型,兼容性很强:

    CAST("07:00" AS time(7))
    

    比如在SQL Server中,这种写法可以直接生效,自动识别hh:mm格式的时间字符串。

  • 处理带AM/PM的12小时制字符串(如果有需要):
    如果你拆分后的字符串还保留了AM/PM标识(比如"07:00 AM"),可以直接用支持12小时制的转换函数,或者指定格式参数:

    toTime("07:00 AM", 'hh:mm a')
    

    不同工具的格式语法可能略有差异,比如部分环境用HH:mm表示24小时制,hh:mm表示12小时制,按需调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 03:32:19