繁体   English   中英

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

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

我正在使用Netezza SQL。

我的数据集中有星期数和年份作为组合条目。 例如,“ 2017年第3周”。 我想使用此字段获取一周中最后一天的日期。 在这种情况下,我应该得到“ 2017年1月21日”。

关于如何做的任何想法?

谢谢。

这是一个可能适合您的示例:

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) _) _

尝试这个。

          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