데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
SELECT SYSDATE FROM DUAL;
//오늘 날짜를 받아옵니다.
YY = SELECT SubStr(SYSDATE,0,2) FROM DUAL;
//년도를 YY에 저장하구요
MM = SELECT SubStr(SYSDATE,4,2) FROM DUAL;
//월을를 MM에 저장하구요
DD = SELECT SubStr(SYSDATE,7,2) FROM DUAL;
//일을 DD에 저장합니다.
IF(DD < 15)
//15일 이하일때
MM - 01 ;
//이번달에서 한달을 감소시키고요
SELECT 'MM' || 'DD' FROM DUAL
//MM과DD를 붙여줍니다.
IF (MM = 01)
//월이 1월일때
YY - 01 ;
//년도에서 -01을 하고
SELECT 'YY' || 'MM' YYMM from DUAL
//YYMM을 붙여줍니다.
ELSE
SELECT 'YY' || 'MM' YYMM from DUAL
ELSE
SELECT 'YY' || 'MM' || 'DD' from DUAL
로직은 간단한데 이걸 어떻해 사용하는지를 모르겠네요..
조언좀 부탁드려요!!
Comment 1
-
karyaladin
2016.10.20 09:31
SELECT SYSDATE FROM DUAL;
--SELECT YY,MM,DD
DECLARE
YY NUMBER;
MM NUMBER;
DD NUMBER;
BEGIN
YY = SELECT SubStr(SYSDATE,0,2) FROM DUAL;
MM = SELECT SubStr(SYSDATE,4,2) FROM DUAL;
DD = SELECT SubStr(SYSDATE,7,2) FROM DUAL;
--SELECT YY,MM,DD FROM DUAL;
IF(DD < 15)
MM - 01 ;
SELECT 'MM' || 'DD' FROM DUAL
IF (MM = 01)
YY - 01 ;
SELECT 'YY' || 'MM' YYMM from DUAL
ELSE
SELECT 'YY' || 'MM' YYMM from DUAL
ELSE
SELECT 'YY' || 'MM' || 'DD' from DUAL
END;
이런식으로 하는 건가요~?