当前位置: 首页 > 知识库问答 >
问题:

尝试创建日期序列yyyymmdd

骆文华
2023-03-14
insert into dim_SH (date_key)
SELECT to_char(('2012-01-01'::date + x)::date,'yyyymmdd') 
FROM generate_series(1, 365*15, 1) x;

亚马逊无效操作:Redshift表不支持指定的类型或函数(每个信息消息一个);1语句失败。

共有1个答案

穆承运
2023-03-14

的确,generate_series应该不受Redshift支持(这里的Redshift文档说明了它不受支持),因此每当需要生成行时,必须动态创建它们(如下所示):

WITH ten as (
  select 1 union all
  select 1 union all
  select 1 union all
  select 1 union all
  select 1 union all
  select 1 union all
  select 1 union all
  select 1 union all
  select 1 union all
  select 1
), ten_k as (
  select row_number() over () as x
  from ten a cross join
     ten b cross join
     ten c cross join
     ten d
  )
SELECT to_char(('2012-01-01'::date + x)::date,'yyyymmdd')
FROM ten_k limit 365*15;

或者,您可以从某处选择行:

SELECT x FROM (SELECT row_number() over () as x FROM arbitrary_table limit 10000) as ten_k

我很震惊地看到你发布的查询:

SELECT to_char(('2012-01-01'::date + x)::date,'yyyymmdd')
FROM generate_series(1, 365*15, 1) x;
 类似资料:
  • 我的java有点生锈,好久没用了 我想做的是让用户定义一个日期(3个整数包含年、月和日)并将其转换为日期对象。 我有一个方法如下,这就是我在谷歌搜索后得到的结果。 它被下面的人调用,现在刚刚被打印出来 问题是日期完全错误。我想要开始日期为2014-01-01,结束日期为2014-12-31,但打印出来的是 开始时间:8月7日星期六00:00:01 GMT 6 - 开始时间:8月7日星期六00:00

  • 我对cassandra数据库中的数据排序有问题。这是我的桌子结构: 当我运行这个查询时,我得到了以下消息: 查询: 信息: 或者此查询返回没有排序的数据:

  • 我试图使用PHP Carbon库填充提供的开始日期和结束日期之间的日期数组。如果日期没有特定的顺序,这将是直截了当的... 以下是场景: 我需要用每周四天填充dates数组。例如,这些日期的顺序必须如此,星期二是开始日期的第二天: 星期二、星期四、星期六、星期天,所以我需要一种方法来获取开始日期,并在迭代到下一周之前添加2天、2天、1天。 使用碳(碳周期/碳间隔)可以做到这一点吗? 或者我的解决方

  • 我有一个java代码,它将一个对象插入到Mongo DB的一个集合中。当我插入这个新对象时(下面给出了该对象的详细信息),我还需要插入一个创建日期。处理这件事的最好方法是什么?由于我们有不同的时区,我想确保我遵循了正确的方法来保存和读取日期字段。 文档结构:我需要让我的java代码创建一个系统日期,以正确的格式将创建日期插入Mongo DB。 {“_id”:对象id(“568ac782e4b0fb

  • 问题内容: 如何查询SQL Server的SQL Server 2005表列的创建日期? 我尝试获取该信息,但是创建日期未包含在此存储过程中。 如何才能做到这一点? 问题答案: 有一个名为sys.Columns的系统表,您可以从中获取列信息。如果要查看特定表的列,可以执行以下操作: 或者,您可以获取如下表信息: 但是我找不到有关列创建日期的任何信息。 更新: 这可能会有所帮助。

  • 我通过连接单独的月、日、年和时间列创建了日期列,但是月和日列的输入数据形式为1,而不是01表示月和日。这是我返回空列的原因吗?还是有其他原因?如果这就是原因,那么如何将日和月列从1改为01、2改为02、…? 这是我第一次使用时间戳,而且我是Scala新手,所以我非常感谢您的帮助。