안녕하세요. 운영중인 DB의 테이블 컬럼의 컬럼타입을 Varchar2 에서 TimeStamp로 변경하려고 합니다. 0 4 500

by 빠바 [SQL Query] [2019.01.25 13:18:18]


1.png (3,507Bytes)
2.png (3,348Bytes)

안녕하세요.

 

처음 테이블 생성시 실수가 있어 컬럼타입을 timestamp로 생성해야하는데 Varchar2로 잘못 생성하게 되었습니다.

 

현재 19만개의 데이터가 쌓여있는데 이미 생성되어있는 데이터의 타입을 바꿔주어야 하는데요. 문자타입을 날짜타입으로 바꾸는데 자꾸 문제가 발생하여 문의를 드리게되었습니다.

 

물론 찾아서 하면 금방해결되지만 현재 운영중인 DB라 긴급하게 문의드리게 되었습니다.

첫번째 이미지를 두번째 이미지처럼 변경하고 싶은데요.

 

    select TO_DATE('20'|| SUBSTR(processtime, 0, length(processtime)-3), 'yyyy-mm-dd hh24:mi:ss.ff6')
      from dcmachinedata;

이부분에서 날짜형식이 부정확하다는 에러가 발생하고있습니다.

어떻게 하면 될까요?

 

 

 

by 우리집아찌 [2019.01.25 13:38:53]
WITH dcmachinedata AS (
SELECT '18/11/30 15:56:12.694617000' processtime FROM DUAL
)
select TO_TIMESTAMP(processtime, 'yy/mm/dd hh24:mi:ss.ff9')  from dcmachinedata;

 


by 빠바 [2019.01.30 10:55:06]

감사합니다 해결하였습니다!


by 마농 [2019.01.25 14:44:19]

함수 선택을 잘못 했네요.
  - 변경전 : TO_DATE
  - 변경후 : TO_TIMESTAMP


by 빠바 [2019.01.30 10:55:14]

감사합니다. 해결하였습니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입