簡體   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