【问题标题】:Time interval difference between dates in RedshiftRedshift中日期之间的时间间隔差异
【发布时间】:2021-10-14 05:30:22
【问题描述】:

我需要分析Amazon-Redshift中两个日期的时间间隔差,例如:

'2021-10-13 14:37:00' - '2021-10-13 12:00:00' = '02:37:00'

或者如果日子不同:

'2021-10-13 14:37:00' - '2021-10-12 12:00:00' = '26:37:00'

我只发现了datediff() 函数。这个函数只返回我想要的部分。

那么,有没有更好的方法来返回我需要的结果?

【问题讨论】:

    标签: sql amazon-redshift


    【解决方案1】:

    使用- 减去它们得到INTERVAL。然后,您可以根据需要格式化间隔。例如:

    select to_char(timestamp '2021-10-13 14:37:00' - 
                   timestamp '2021-10-13 12:00:00', 'HH:MI:SS')
    

    结果:

    02:37:00
    

    【讨论】:

    • 感谢您的帮助。是的,它有效。我测试了它。但是,当我将这些字段替换为这些字符串时,减法返回一个空区间,因此,to_char 返回一个错误。 (注意:不支持函数“to_char(interval,text)”。)
    • @RanierCordeiro 这些字段的数据类型是什么? TIMESTAMP 还是别的什么?
    • 是的,它是TIMESTAMP。此外,当我调用该函数时,我还尝试使用 :: timestamp 每列显式强制它,例如:to_char(filed_2 :: timestamp without time zone - field_1 :: timestamp without time zone, 'HH:MI:SS') 但错误是相同的。
    猜你喜欢
    • 2012-02-04
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多