【问题标题】:How to calculate number of days in redshift如何计算红移天数
【发布时间】:2015-08-24 08:43:15
【问题描述】:

我想计算 redshift 中两个日期之间的天数,但如果日期之间的时间少于 24 小时,如 MySQL 中的 Timestampdiff 函数,该函数应考虑平均 day=0 的时间。 Datediff 在这里不相关。

【问题讨论】:

  • 您希望减去的字段的类型是什么?它们是否存储为 TIMESTAMP WITHOUT TIME ZONE?

标签: amazon-web-services amazon-redshift


【解决方案1】:

DATEDIFF(hours, start, end) / 24 计算小时数,然后除以 24 得到天数,例如:

db=# create table t (a TIMESTAMP, b TIMESTAMP);
CREATE TABLE
db=# insert into t values ('2015-08-19 03:56:39'::timestamp, '2015-08-23 02:22:18'::timestamp);
INSERT 0 1
db=# insert into t values ('2015-08-19 03:56:39'::timestamp, '2015-08-23 10:22:18'::timestamp);
INSERT 0 1
db=# select a, b, datediff(hours, a, b) / 24 as whole_days from t;
          a          |          b          | whole_days 
---------------------+---------------------+------------
 2015-08-19 03:56:39 | 2015-08-23 02:22:18 |          3
 2015-08-19 03:56:39 | 2015-08-23 10:22:18 |          4
(2 rows)

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2019-02-27
    • 2021-05-21
    • 1970-01-01
    • 2023-01-30
    相关资源
    最近更新 更多