繁体   English   中英

在Oracle中获取给定星期数的第一天

[英]get first day of a given week number in oracle

请帮助从给定日期而不是给定日期在oracle中导出给定week_no的第一天。

您可以尝试以下查询:

SELECT NEXT_DAY(MAX(d), 'SUN') REQUESTED_SUN
FROM (SELECT TO_DATE('01-01-2015', 'DD-MM-YYYY') + (ROWNUM-1) d FROM DUAL CONNECT BY LEVEL <= 366)
WHERE TO_CHAR(d, 'WW') = Your_Desired_WEEK_NO-1;

这可能对您有帮助。

使用此查询

Select TRUNC (Trunc(sysdate,'yyyy')+(:num-1)*7,'IW') from duaL;

:num是从2015年起的星期数,或将所需的年数代替sysdate。

您可以使用此功能获取ISO周的日期:

CREATE FUNCTION TO_ISO_WEEK_DATE(
  week NUMBER,
  year NUMBER
) RETURN DATE DETERMINISTIC
IS
BEGIN
  RETURN NEXT_DAY(
          TO_DATE( TO_CHAR( year, '0000' ) || '0104', 'YYYYMMDD' )
            - INTERVAL '7' DAY, 'MONDAY'
         )
         + ( week - 1 ) * 7;
END TO_ISO_WEEK_DATE;
/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM