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

Databricks SQL中特定格式字符串转Timestamp报错,求内置解析方案

在Databricks SQL中直接解析非标准日期字符串为Timestamp

默认的cast(my_value as timestamp)无法解析4/24/2020 14:43:54或12/5/2020 14:43:54这类格式的字符串,原因是Databricks SQL默认的timestamp解析规则遵循ISO标准或特定默认格式,不支持单数字月/日的M/d/yyyy HH:mm:ss格式,因此会抛出CAST_INVALID_INPUT错误。

你不需要通过字符串处理或正则表达式来解决,Databricks SQL提供了直接解析这类字符串的方法:使用to_timestamp函数并显式指定日期格式。

具体用法

to_timestamp函数支持自定义日期格式字符串,其中:

  • M匹配1位或2位的月份(比如4或12)
  • d匹配1位或2位的日期(比如5或24)
  • HH:mm:ss匹配24小时制的时分秒

示例SQL语句:

-- 解析单月/单日格式
SELECT to_timestamp('4/24/2020 14:43:54', 'M/d/yyyy HH:mm:ss') AS parsed_ts;
SELECT to_timestamp('12/5/2020 14:43:54', 'M/d/yyyy HH:mm:ss') AS parsed_ts;

容错处理

如果存在格式不规范的字符串,不想因为解析失败导致整个查询报错,可以使用try_to_timestamp函数,它会对解析失败的返回NULL:

SELECT try_to_timestamp('invalid-date', 'M/d/yyyy HH:mm:ss') AS parsed_ts;
-- 返回 NULL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 07:12:44