DECLARE
/* 디폴트시간 */
SDATE VARCHAR2(20);
/* 시간 */
NDATE VARCHAR2(20);
NDATE2 VARCHAR2(20);
BEGIN
SDATE := '201204241933';
/* member테이블에서 REGDATE 최소값을 찾기 : 201204241933과 같이 입력된 VARCHAR2타입*/
/* nvl을 이용하여 REGDATE값이 널값이면 디폴트 시간을 받아서 NDATE로 저장*/
SELECT nvl(MIN(REGDATE),SDATE) INTO NDATE FROM member;
/* 받아온 NDATE값에서 1초 빼기 */
select TO_CHAR(TO_DATE(NDATE, 'yyyymmddhh24') - 1/(24*60*60), 'yyyymmddhh24miss') INTO NDATE2 from dual;
SQL 오류: ORA-01830: 날짜 형식의 지정에 불필요한 데이터가 포함되어 있습니다
위 구문을 너무 어렵게 작성을 한듯 보이기도 합니다.
1초빼기에서
select TO_CHAR(TO_DATE('201204241933', 'yyyymmddhh24') - 1/(24*60*60), 'yyyymmddhh24miss') INTO NDATE2 from dual;
과 같이 값을 직접 지정하면 출력이 되는것 같습니다.
NDATE값을 넣어주면 >> 불필요한 데이터로 인식을 하는것 같습니다.