본문 바로가기
  • 아하하
개발/SQL

오라클에서 CLOB 컬럼을 NUMBER로 변환하는 방법

by 쥬쥬파파 2025. 4. 24.

 

오라클 CLOB → NUMBER 변환, 날짜 포맷, 문자열 날짜 변환 총정리

실무에서 오라클(Oracle) DB를 다루다 보면 CLOB 타입을 NUMBER로 변환하거나, 날짜/문자열 포맷을 변환해야 할 때가 많습니다.
아래에 자주 쓰는 쿼리와 예제를 정리해두었으니, 비슷한 상황에서 참고하세요!

1. CLOB 컬럼을 NUMBER(10,0)로 변환하는 방법

  1. 숫자값만 있는지 확인
  2. 임시 NUMBER 컬럼 추가
  3. CLOB → NUMBER 데이터 변환
  4. 기존 컬럼 삭제
  5. 임시 컬럼 이름 변경
-- 1. 숫자값 검증
SELECT IZ06_SIGN_ID
FROM your_table
WHERE REGEXP_LIKE(dbms_lob.substr(IZ06_SIGN_ID, 100), '[^0-9]');

-- 2. 임시 컬럼 추가
ALTER TABLE your_table ADD (IZ06_SIGN_ID_TMP NUMBER(10,0));

-- 3. 데이터 변환
UPDATE your_table
SET IZ06_SIGN_ID_TMP = TO_NUMBER(dbms_lob.substr(IZ06_SIGN_ID, 100));

-- 4. 기존 컬럼 삭제
ALTER TABLE your_table DROP COLUMN IZ06_SIGN_ID;

-- 5. 임시 컬럼 이름 변경
ALTER TABLE your_table RENAME COLUMN IZ06_SIGN_ID_TMP TO IZ06_SIGN_ID;
  

2. 오라클에서 현재 시간을 년월일시분초 문자열로 저장하기

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS 현재시간
FROM DUAL;
  

예시 결과: 2025-04-23 10:33:45

3. '20250423103345' 같은 문자열을 날짜 포맷으로 변환

SELECT TO_CHAR(TO_DATE('20250423103345', 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') AS formatted_date
FROM dual;
  

예시 결과: 2025-04-23 10:33:45

반응형

'개발 > SQL' 카테고리의 다른 글

sql 전화번호 format REGEXP_REPLACE  (0) 2022.06.29
mariadb 데이터베이스 생성  (0) 2021.06.10
MariaDB 날짜 함수  (0) 2019.01.25
ORA-28001, 오라클 패스워드 만료  (0) 2019.01.02
DB관련 유용한 사이트 링크  (0) 2018.11.29