사용 프로그램 & 버젼 등 환경
Oracle 11g
프로그래머스
메세지
ORA-30076: invalid extract field for extract source
상황
프로그래머스 입양 시각 구하기(1) 풀이 중 EXTRACT로 HOUR를 추출할려고 써보는데 해당 에러 발생
SELECT EXTRACT(HOUR FROM DATETIME)
FROM ANIMAL_OUTS
원인
데이터타입이 안맞아서 나는 오류
EXTRACT 함수를 사용할때, 2가지 데이터타입을 받을 수 있는데 하나는 DATE 다른 하나는 TIMESTAMP
1)DATE(DATETIME) : YEAR, MONTH, DAY
2)TIMESTAMP : HOUR, MINUTE, SECOND 등등
※DATETIME 데이터타입
DATE + TIMESTAMP = DATETIME
DATETIME 자체가 DATE 타입과 TIMESTAMP을 합쳐 놓은 데이터타입
SELECT SYSDATE,
SYSTIMESTAMP,
EXTRACT (YEAR FROM SYSDATE),
EXTRACT (MONTH FROM SYSDATE),
EXTRACT (DAY FROM SYSDATE),
EXTRACT (HOUR FROM SYSTIMESTAMP),
EXTRACT (MINUTE FROM SYSTIMESTAMP),
EXTRACT (SECOND FROM SYSTIMESTAMP)
FROM DUAL
해결
CAST()로 TIMESTAMP형으로 파싱해주면 된다
SELECT EXTRACT(HOUR FROM CAST(DATETIME AS TIMESTAMP)) HOUR
FROM ANIMAL_OUTS
'SQL > 에러메세지' 카테고리의 다른 글
[에러메세지][Oracle] ORA-00937 : not a single-group group function (0) | 2023.05.06 |
---|---|
[에러메세지][Oracle] ORA-01722 : 수치가 부적합합니다. (0) | 2022.09.29 |
[에러메세지][Oracle] ORA-00979: GROUP BY 표현식이 아닙니다. (0) | 2022.09.19 |
[에러메세지][Oracle] ORA-25154: column part of USING clause cannot have qualifier (0) | 2022.04.02 |
[에러메세지][Oracle] ORA-08002: sequence SEQ_EMPID2.CURRVAL is not yet defined in this session (0) | 2022.03.27 |