Sql 在2个日期时间之间生成X个日期
有没有一种简单的方法可以在两个给定日期之间生成每小时的日期时间 例如,如果我想在过去的24小时内完成,有没有简单的方法 每小时 2019年9月25日和2019年9月26日?Sql 在2个日期时间之间生成X个日期,sql,amazon-redshift,Sql,Amazon Redshift,有没有一种简单的方法可以在两个给定日期之间生成每小时的日期时间 例如,如果我想在过去的24小时内完成,有没有简单的方法 每小时 2019年9月25日和2019年9月26日? 例如:2019年9月25日下午1点、2019年9月25日下午2点等 这也可能扩展到2019年9月20日、2019年9月21日、2019年9月22日等 我知道有一种方法可以使用generate_系列。在这种情况下它将如何工作 谢谢大家! select (DATEADD(hour, (generate_series), '9/2
例如:2019年9月25日下午1点、2019年9月25日下午2点等
这也可能扩展到2019年9月20日、2019年9月21日、2019年9月22日等
我知道有一种方法可以使用generate_系列。在这种情况下它将如何工作
谢谢大家!
select (DATEADD(hour, (generate_series), '9/27/2019'::timestamp))::timestamp from generate_series(1,datediff(hour,'9/27/2019','9/28/2019'),1)
对于那些感兴趣的人。我通过这种方法使它工作。如果有更好的办法,让我知道
更新:
这是完整的代码
with daterange as (
select (DATEADD(hour, (generate_series), '9/27/2019'::timestamp))::timestamp as datetime
from generate_series(1,datediff(hour,'9/27/2019','9/28/2019'),1)
),
stringdaterange as (
select to_char(datetime::timestamp, 'Mon-dd hh:00 pm') as datelabel
from daterange
)
select * from stringdaterange
用您正在使用的数据库标记您的问题…因为当涉及到日期/时间时,许多产品远远不符合ANSI SQL。看看这是否有帮助。很抱歉,我已经标记了数据库