2017-08-15 2 views
1

Ich arbeite in Netezza SQL.Erhalten letzten Tag der Woche von Woche Nummer & Jahr in Aginity Werkbank

Ich habe die Wochennummer und das Jahr in meinem Datensatz als kombinierten Eintrag. Zum Beispiel "Woche 3, 2017". Ich möchte dieses Feld verwenden, um das Datum für den letzten Tag der Woche zu erhalten. In diesem Fall sollte ich "21-Jan-2017" bekommen.

Irgendwelche Gedanken darüber, wie kann ich es tun?

Danke.

Antwort

0

Hier ist ein Beispiel, das für Sie wahrscheinlich funktionieren sollte:

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

bereits.

  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 
Verwandte Themen