[英]Week, Month, Year number to beginning of week Date
例:
我希望将其转换为3/05/2018,但不确定如何在Tableau / Oracle SQL中执行此操作。 将这3个独立的数字转换成一周开始的逻辑是什么? 这个星期将从星期一开始。
谢谢
以下查询将为您提供所需的结果-
SELECT
TO_CHAR(START_DATE,'MM/DD/YYYY') AS START_DATE
FROM
(
SELECT
(TRUNC(TO_DATE('2018','YYYY'),'DAY') + 1) + ((LEVEL - 1) * 7) AS START_DATE,
(TRUNC(TO_DATE('2018','YYYY'),'DAY') + 1) + ((LEVEL - 1) * 7) + 6 AS END_DATE, LEVEL AS WEEK
FROM
DUAL
CONNECT BY LEVEL <= (((TO_DATE('2018','YYYY') + INTERVAL '1' YEAR) + INTERVAL '-1' DAY) - (TO_DATE('2018','YYYY')))/7
)
WHERE
WEEK = 10
;
在这种情况下,此处将硬编码2018年和第10周,以获得所需的结果。
结果:-
03/05/2018
我认为月号不是必需的,您可以尝试以下代码,
SELECT NEXT_DAY(TO_DATE((&week_no*7)||' &yyyy', 'DDD YYYY')-7, 2) date_
FROM dual;
week_no = 10
yyyy = 2018
DATE_
---------
05-MAR-18
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.