안녕하세요, 개발 중에 문의드릴 것이 있어 이렇게 올리게 되었습니다.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//주차, 주 시작일, 주 종료일 구하기 펑션
create or replace FUNCTION FN_GET_WEEKDAYS(IN_DATE VARCHAR2
,IN_TYPE VARCHAR2
) RETURN VARCHAR2
IS
LI_WEEK_NUM VARCHAR2(2) := '';
LI_START_DT VARCHAR2(8) := '';
LI_END_DT VARCHAR2(8) := '';
BEGIN
LI_WEEK_NUM := TO_CHAR(TO_DATE(IN_DATE, 'YYYYMMDD'), 'IW');
IF (IN_TYPE = 'WN') THEN
RETURN LI_WEEK_NUM;
ELSIF (IN_TYPE = 'SD') THEN
LI_START_DT := (LI_WEEK_NUM-2)*7+NEXT_DAY((TRUNC(TO_DATE(SUBSTR(IN_DATE, 0, 4)||'0101','YYYYMMDD'),'MM')-1),'일');
RETURN LI_START_DT;
ELSIF (IN_TYPE = 'ED') THEN
LI_END_DT := (LI_WEEK_NUM-2)*7+NEXT_DAY((TRUNC(TO_DATE(SUBSTR(IN_DATE, 0, 4)||'0101','YYYYMMDD'),'MM')-1),'일')+ 6;
RETURN LI_END_DT;
END IF;
END FN_GET_WEEKDAYS;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
현재 다음과 같은 함수를 사용하여 날짜와 플래그를 넣을 경우, (예: fn_get_weekdays('20130101', 'WN'))
날짜에 해당하는 주차, 주의 첫날과 주의 마지막날을 구하는 함수를 만들어 사용하고 있습니다.
제가 개발하는 프로그램에는 이 펑션의 날짜 부분에 varchar2(8) 의 날짜 데이터 컬럼을 넣어서 사용하고 있었습니다.
그런데 이번에 윈도우즈 서버 2012 장비에 오라클 서버(11g 엔터프라이즈 버전)를 설치하고, 제 프로그램을 돌렸는데
계속 '지정한 월이 부적합합니다'라고 에러가 나기 시작했습니다. 서버사이드에서는 쿼리가 문제가 없는데,
클라이언트 사이드에서만 계속 이 에러가 납니다. 다른 테스트용 데스크탑에 서버 설치해서 사용할 때는 이런 문제가
없었거든요. 쿼리 문제일 수도 있는 것 같지만, 이게 윈도우즈 서버 2012의 문제인 것 같긴 한데,
이와 유사한 경험이 있으시거나 해결해보신 분이 있으시면
답변 좀 부탁드리겠습니다. 항상 많은 도움 얻고 있습니다. 읽어주셔서 감사합니다.