【问题标题】:How to create 'Week column' based on another date column?如何根据另一个日期列创建“周列”?
【发布时间】:2020-04-10 19:36:32
【问题描述】:

我有“jobstarttimeiso”列,我想根据日期为一年中的第几周创建另一个列。我该怎么做呢?我正在使用 Redash 从 redshift 数据库中查询。请帮忙!谢谢

【问题讨论】:

  • 您如何定义“一年中的第几周”?你的意思是“周数”,第一周是第 1 周,最后一周是第 52 周或第 53 周?你如何定义“第一周”——是整整一周,还是从特定的一天(例如周日或周一)开始?看看DATE_PART Function - Amazon Redshift。它具有“周”功能。
  • 是的,我已经尝试过日期部分,但由于某种原因它不起作用。第 1 周 - 第 52 周
  • 请定义“不起作用”。你收到错误了吗?或者你只是对结果不满意?结果与您寻求的结果有何不同?
  • 抱歉 - 我收到了一个错误。
  • 我在上面添加了一张图片作为使用date_part时的参考

标签: date amazon-redshift week-number redash


【解决方案1】:

extract 函数将返回一个星期数,例如

select extract(week from jobstarttimeiso)  as weeknumber

一般:

EXTRACT ( datepart FROM { TIMESTAMP 'literal' | timestamp } )

见:https://docs.aws.amazon.com/redshift/latest/dg/r_EXTRACT_function.html

或者你也可以使用to_char()

TO_CHAR (timestamp_expression | numeric_expression , 'format')

使用参数IYYY 作为 ISO 8601 周编号年份的格式(4 位或更多位)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 2020-11-24
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    相关资源
    最近更新 更多