CREATE OR REPLACE FUNCTION WEEK_NO (CDATE VARCHAR2) RETURN NUMBER AS
V_DATE VARCHAR2(08);
FDATE DATE;
DNUM NUMBER;
BEGIN
V_DATE:=CDATE;
--
SELECT DECODE(TO_CHAR(TO_DATE(SUBSTR(V_DATE,1,4)||'0101','YYYYMMDD'),'D'),
1,7,
2,6,
3,5,
4,4,
5,3,
6,2,
7,1)
+ TO_DATE(SUBSTR(V_DATE,1,4)||'0101','YYYYMMDD')
INTO FDATE
FROM DUAL;
--
SELECT TO_DATE(V_DATE,'YYYYMMDD') - FDATE
INTO DNUM
FROM DUAL;
--
IF DNUM<0 THEN
RETURN 1;
ELSE
RETURN TRUNC(DNUM/7) +2;
END IF;
END;
		V_DATE VARCHAR2(08);
FDATE DATE;
DNUM NUMBER;
BEGIN
V_DATE:=CDATE;
--
SELECT DECODE(TO_CHAR(TO_DATE(SUBSTR(V_DATE,1,4)||'0101','YYYYMMDD'),'D'),
1,7,
2,6,
3,5,
4,4,
5,3,
6,2,
7,1)
+ TO_DATE(SUBSTR(V_DATE,1,4)||'0101','YYYYMMDD')
INTO FDATE
FROM DUAL;
--
SELECT TO_DATE(V_DATE,'YYYYMMDD') - FDATE
INTO DNUM
FROM DUAL;
--
IF DNUM<0 THEN
RETURN 1;
ELSE
RETURN TRUNC(DNUM/7) +2;
END IF;
END;
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 
|---|---|---|---|---|
| 14 | SELF JOIN | 운영자 | 2002.09.17 | 4616 | 
| 13 | Outer Join | 운영자 | 2002.09.17 | 4130 | 
| 12 | HINTS (출처-Oracle8.0 Tuning Guide) | 운영자 | 2002.09.17 | 3788 | 
| 11 | 단일행 문자 함수 | 운영자 | 2002.09.17 | 4515 | 
| 10 | 단일행 수치 함수 | 운영자 | 2002.09.17 | 4016 | 
| 9 | NOT IN 의 함정 | 운영자 | 2002.09.17 | 3799 | 
| 8 | DYNAMIC SQL 이란? (퍼온글 : 출처모름) | 운영자 | 2002.09.17 | 4794 | 
| 7 | PL/SQL에서 ARRAY사용 예제 | 운영자 | 2002.09.17 | 4582 | 
| » | 년중 몇번째 주간인지 알아내기(FUNCTION) - ORACLE이 제공하는 것과 다름 | 운영자 | 2002.09.17 | 5382 | 
| 5 | SORT후 번호부여 | 운영자 | 2002.09.17 | 3801 | 
| 4 | JOIN 과 UNION 의 선후관계 | 운영자 | 2002.09.17 | 6031 | 
| 3 | 중복 DATA CHECK | 운영자 | 2002.09.17 | 3801 | 
| 2 | crontab 에 오라클 환경변수를 인식시킬때 [1] | 원우석 | 2004.12.06 | 6182 | 
| 1 | oracle proc 에서 stdarg.h파일사용하기위한 환경설정 | 원우석 | 2004.12.06 | 14237 | 
