Error

[Error][Oracle] ORA-01481: 숫자 형식 모델이 부적합합니다

오선지♬ 2024. 8. 11. 11:06
728x90
반응형
NVL2('20240808095823', TO_CHAR('20240808095823', 'YYYY-MM-DD HH24:MI:SS'), NULL)

 

ORA-01481: 숫자 형식 모델이 부적합합니다.

 

이 쿼리는 다음과 같이 동작합니다:

  1. '20240808095823'이 Null이 아닌 경우, TO_CHAR('20240808095823', 'YYYY-MM-DD HH24:MI:SS')를 실행합니다.
  2. '20240808095823'이 Null인 경우, NULL을 반환합니다.

이 예제에서 문제가 되는 부분은 TO_CHAR 함수가 문자열을 바로 변환하려 한다는 점입니다. 오라클에서 날짜 형식의 문자열을 변환하려면 먼저 문자열을 TO_DATE 함수를 사용하여 날짜로 변환한 후 TO_CHAR를 사용하여 원하는 형식으로 변환해야 합니다.

올바른 오라클 SQL 쿼리는 다음과 같습니다:

SELECT NVL2(
    '20240808095823', 
    TO_CHAR(TO_DATE('20240808095823', 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS'), 
    NULL
) AS formatted_date
FROM dual;
728x90
반응형