我想在Amazon Redshift中生成日期和小时表。以下查询将在Postgresql 9.1及更高版本中运行,但不幸的是,我们仅限于Amazon Redshift,这会导致错误:“函数generate_series不存在”。非常感谢您对在8.02中生成时间序列(如结果表)的帮助。
SELECT * FROM generate_series('2008-03-01 00:00'::timestamp,
'2008-03-04 12:00', '10 hours');
generate_series
generate_series
---------------------
2008-03-01 00:00:00
2008-03-01 10:00:00
2008-03-01 20:00:00
2008-03-02 06:00:00
2008-03-02 16:00:00
2008-03-03 02:00:00
2008-03-03 12:00:00
2008-03-03 22:00:00
2008-03-04 08:00:00
修改: 我可以使用以下代码生成所需的时间序列,但无法在Redshift中将它们创建到表中。错误消息为:
“ Redshift表不支持指定的类型或功能(每个INFO消息一个)。”
SELECT '2017-01-01 00:00:00'::timestamp + x * interval'1 hour' AS Date_Time
FROM generate_series(0, 1000 * 24) AS g(x)
有什么想法可以在Redshift中将其创建到表中吗?谢谢。
答案 0 :(得分:0)
这样的脚本可能会对您有所帮助,
CREATE or REPLACE function gen_ser() returns integer
as
$body$
declare
query varchar;
i integer := 0;
begin
loop
exit when i >= 100;
i:=i+10;
query :='Insert into table select ''01-01-2018''::timestamptz + '''|| i ||' hours'' ::interval;';
execute query;
end loop;
return 1;
end;
$body$
language plpgsql;
答案 1 :(得分:0)
免责声明:请不要再使用此版本!
export class Book{
private name: string;
constructor(name: string){
this.name=name;
}
getName(){
return this.name;
}
<p>{{ book.getName() }}</p>
从1到10,并根据您的开始时间戳将结果加入。结果是一个包含两列的表:一个在每一行的开头,一个从1到10的数字。