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

如何在Presto SQL中利用字符串格式的两个日期计算时长

Presto SQL 实现方案

要将字符串格式的start_date和target_date转换为日期格式,并计算两者的时长差值(小时、天为单位),可以使用Presto内置的DATE_PARSE和DATE_DIFF函数实现,具体代码如下:

SELECT
  -- 将字符串转为时间戳格式
  DATE_PARSE(start_date, '%Y-%m-%d %H:%i:%s') AS start_timestamp,
  DATE_PARSE(target_date, '%Y-%m-%d %H:%i:%s') AS target_timestamp,
  -- 计算小时级时长差值
  DATE_DIFF('hour', DATE_PARSE(start_date, '%Y-%m-%d %H:%i:%s'), DATE_PARSE(target_date, '%Y-%m-%d %H:%i:%s')) AS duration_hours,
  -- 计算天级时长差值
  DATE_DIFF('day', DATE_PARSE(start_date, '%Y-%m-%d %H:%i:%s'), DATE_PARSE(target_date, '%Y-%m-%d %H:%i:%s')) AS duration_days
FROM your_table_name;

关键函数说明

  • DATE_PARSE(string, format):将指定格式的字符串转换为Presto的时间戳类型,这里的格式%Y-%m-%d %H:%i:%s对应年-月-日 时:分:秒的字符串格式。
  • DATE_DIFF(unit, timestamp1, timestamp2):计算两个时间戳之间的差值,unit参数指定差值的单位,支持hour、day等时间单位,返回结果为整数类型。

如果你的字符串日期格式和示例中的%Y-%m-%d %H:%i:%s不一致,只需调整DATE_PARSE的格式参数即可匹配实际格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:33:15