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

在Presto中如何将hh-mm-ss格式字符串转换为hh:mm:ss时间格式

Presto SQL:将'hh-mm-ss'格式字符串转换为hh:mm:ss时间格式

如果你的时间数据是以'17-00-00'、'01-00-00'这种连字符分隔的字符串存储,需要转换成标准的hh:mm:ss格式,可以分两种场景处理:

1. 转换为字符串形式的hh:mm:ss

直接使用replace()函数替换字符串中的'-'为':'即可:

SELECT replace(your_time_column, '-', ':') AS formatted_time_str
FROM your_table;

示例执行结果:

输入:'17-00-00' → 输出:'17:00:00'
输入:'01-00-00' → 输出:'01:00:00'

2. 转换为Presto原生TIME类型

如果需要将字符串转换为Presto的TIME类型(方便后续时间运算),可以先替换分隔符,再用time_parse()或cast()函数转换:

方法一:使用time_parse()

SELECT time_parse(replace(your_time_column, '-', ':'), 'HH:mm:ss') AS formatted_time
FROM your_table;

方法二:使用cast()

SELECT cast(replace(your_time_column, '-', ':') AS TIME) AS formatted_time
FROM your_table;

处理无效时间值

如果数据中存在不符合时间规则的字符串(比如'25-00-00'),可以用try_time_parse()替代time_parse(),避免查询报错,无效值会返回NULL:

SELECT try_time_parse(replace(your_time_column, '-', ':'), 'HH:mm:ss') AS formatted_time
FROM your_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:41:27