简体   繁体   English

从Aginity工作台中的星期数和年份中获取星期的最后一天

[英]Getting last day of week from week number & year in Aginity workbench

I am working in Netezza SQL. 我正在使用Netezza SQL。

I have got week number and year in my dataset as a combined entry. 我的数据集中有星期数和年份作为组合条目。 For example, "Week 3, 2017". 例如,“ 2017年第3周”。 I want to use this field to get the date for the last day of the week. 我想使用此字段获取一周中最后一天的日期。 In this case, I should get "21-Jan-2017". 在这种情况下,我应该得到“ 2017年1月21日”。

Any thoughts on how can I do it? 关于如何做的任何想法?

Thanks. 谢谢。

Here's an example that should probably work for you: 这是一个可能适合您的示例:

SELECT  DATE(year_num || '-01-01') + CAST(((week_num * 7) - 1) || ' DAYS' AS INTERVAL)
  FROM  (SELECT  CAST(TRANSLATE(SUBSTR(dt, 0, INSTR(dt, ', ')), 'Week ', '') AS BYTEINT) AS week_num,
                 CAST(SUBSTR(dt, INSTR(dt, ', ') + 2) AS SMALLINT) AS year_num
           FROM  (SELECT  'Week 3, 2017' AS dt
                   UNION  ALL
                  SELECT  'Week 19, 2015' AS dt
                   UNION  ALL
                  SELECT  'Week 45, 2016' AS dt) _) _

Try this. 尝试这个。

          select to_date(lpad(trim(substring(data.dt,5,100)),8,'0'),'ww, YYYY') + interval '6 days' as lastDayOfWeek

         from  (SELECT  'Week 3, 2017' AS dt
           UNION  ALL
          SELECT  'Week 19, 2015' AS dt
           UNION  ALL
          SELECT  'Week 45, 2016' AS dt) data

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM