如何计算红移天数
How to calculate number of days in redshift
我想计算 redshift 中两个日期之间的天数,但是如果日期之间的间隔少于 24 小时,函数应该考虑平均天数=0 的时间,例如 [=12= 中的 Timestampdiff 函数]. Datediff 与此处无关。
做一个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)
另请参阅:
我想计算 redshift 中两个日期之间的天数,但是如果日期之间的间隔少于 24 小时,函数应该考虑平均天数=0 的时间,例如 [=12= 中的 Timestampdiff 函数]. Datediff 与此处无关。
做一个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)
另请参阅: