如何使用 presto SQL 中字符串格式的 2 个日期值找出持续时间

问题描述 投票:0回答:1
Timestampdiff(hour,STR_TO_DATE(start_date, '%Y-%m-%d %H:%i:%s'),
STR_TO_DATE(target_date, '%Y-%m-%d %H:%i:%s')) as duration hours

我尝试使用字符串格式的开始日期和目标日期来获取持续时间。 需要将其转换为日期格式,需要为持续时间(以小时为单位)和持续时间(以天为单位)创建新列......这里持续时间意味着开始日期和目标日期之间的差异。在 presto SQL 中。

sql date syntax presto duration
1个回答
0
投票

此外,在 Presto 中,您应该能够从另一个更大的时间戳中减去时间戳,并获得间隔文字:

WITH
-- some input ...
indata(start_ts,target_ts) AS (
          SELECT TIMESTAMP '2024-03-04 08:00:00',TIMESTAMP '2024-03-06 09:00:00'
UNION ALL SELECT TIMESTAMP '2024-03-05 10:00:00',TIMESTAMP '2024-03-06 11:00:00'
)
SELECT
  start_ts
, target_ts
, target_ts - start_ts AS duration
FROM indata;
开始_ts 目标_ts 持续时间
2024-03-04 08:00:00 2024-03-06 09:00:00 2 01:00:00.000000
2024-03-05 10:00:00 2024-03-06 11:00:00 1 01:00:00.000000
© www.soinside.com 2019 - 2024. All rights reserved.