Oracle使用to_date查询一周的第一天

周进行信息战。如果一年中的12月31日至第五十二周之间的天数超过或等于4天,则将是一年中的第五十三周,否则剩下的日子将被列为下一年的第一周。

复制代码代码如下所示:
创建或替换功能f_week_to_date(a_week VARCHAR2)返回的字符
v_first_date char(10);
v_date_of_week号(1);

开始
选择to_char(to_date(substr(a_week,1, 4)| | '0101 ','yyyymmdd ',要'))
为v_date_of_week
从双;
v_date_of_week:= v_date_of_week - 1;
如果v_date_of_week 4
选择to_char(to_date(substr(a_week,1, 4)| | + '0101 ','yyyymmdd)
substr(a_week,5, 2)* 7-7 - v_date_of_week + 1,
yyyy-mm-dd)
为v_first_date
从双;
其他的
选择to_char(to_date(substr(a_week,1, 4)| | + '0101 ','yyyymmdd)
substr(a_week,5, 2)* 7 v_date_of_week + 1,
yyyy-mm-dd)
为v_first_date
从双;
最后如果;

返回v_first_date;

结束;