2013-07-15 4 views
0

날짜 필드에 날짜를 입력했으며 유형은 varchar입니다.varchar를 SQL 로더의 날짜로 변환하십시오.

필드를 표시하는 동안 oracle express/sql loader에서 날짜 필드 (varchar)를 날짜 필드 (date)로 변환하는 방법은 무엇입니까?

+0

나는 당신이 무엇을 요구하고 있는지 이해할 수 없다. 영구 테이블에서 열의 데이터 형식을 변경하는 방법을 묻는 중입니까? SQL * Loader를 사용하여 테이블의 'DATE'열에 데이터를로드하는 방법은 무엇입니까? 외부 테이블 정의를'VARCHAR2'에서'DATE'로 변경하는 방법? 또는 다른 것? –

+0

이미 varchar 유형으로로드했습니다. 이제 다른 데이터베이스와 비교하기 위해 다른 데이터베이스의 필드와 호환되도록 데이터 유형을 DATE로 변환해야합니다. – RRR

답변

0

데이터가있는 경우 영구 테이블의 열의 데이터 형식을 VARCHAR2에서 DATE으로 변경할 수 없습니다.

당신은, 그러나, 기존의 열

ALTER TABLE table_name 
    DROP COLUMN old_varchar2_column; 
드롭

UPDATE table_name 
    SET new_date_column = to_date(old_varchar2_column, format_mask); 

을 통해 데이터에 새 열을

ALTER TABLE table_name 
    ADD(new_date_column DATE); 

움직임을 추가 한 다음에 새 열 이름을 바꿀 수 있습니다 이전 열 이름

ALTER TABLE table_name 
    RENAME COLUMN new_date_column TO old_column_name 

물론이 작업을 수행 한 후에이 테이블로 다시로드하려는 경우 데이터를 DATE으로 변환하도록 SQL * Loader 스크립트를 변경해야합니다.

+0

열의 특성을 변경하고 싶지는 않지만 단지 날짜로 표시하려고했습니다. 그게 가능 한가? 캐스트와 같은 기능을 사용하면 ...? – RRR

+0

@RRR - 나는 아직도 당신이 묻는 것에 대해 혼란스러워합니다. 아마도 당신은 단지 비교를 위해 열의'to_date' 함수를 호출하기를 원할 것입니다. –

관련 문제