如何在Redshift中获取generate_series函数以仅生成日期而不是日期时间

问题描述

是否可以删除结果集上的时间戳?

这是我在Redshift中运行的查询:

SELECT CURRENT_DATE - (i * interval '1 day') as dates 
FROM generate_series(0,7) i 
ORDER BY 1; 

这是结果:

1
2020-10-21T00:00:00.000Z
2
2020-10-22T00:00:00.000Z
3
2020-10-23T00:00:00.000Z
4
2020-10-24T00:00:00.000Z
5
2020-10-25T00:00:00.000Z
6
2020-10-26T00:00:00.000Z
7
2020-10-27T00:00:00.000Z
8
2020-10-28T00:00:00.000Z

解决方法

只需投射:

SELECT cast(current_date - i * interval '1 day' as date) as dates 
FROM generate_series(0,7) i 
ORDER BY 1; 

或者:

SELECT (current_date - i * interval '1 day')::date as dates 
FROM generate_series(0,7) i 
ORDER BY 1; 

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...