[英]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.