LOAD DATA
INFILE test.dat 
TRUNCATE INTO TABLE RECORDS
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(REC_ID,BEGIN_TIME,END_TIME,FIRST_PART,SECOND_PART,THREE_PART,TOTAL_PART)
create table records(
       rec_id integer
                   constraint records_pk primary key,
       begin_time date not null,
       end_time date not null,
       first_part varchar2(10),
       second_part varchar2(10),
       three_part varchar2(10),
       total_part varchar2(10),
       dob date    
);test.dat 如下
1,9:00,10:00,检查系统,,,,
2,10:00,11:00,检查系统,,,,
3,12:30,13:45,检查系统,,,,
4,15:45,16:00,检查系统,,,,老是倒进来报错,我看了一下日志,表的begin_time是时间型,而导入的数据默认是字符串,但不我知道怎样在控制文件中加入时间转换的语句?

解决方案 »

  1.   

    楼主这种1,9:00,10:00,检查系统,,,,
    2,10:00,11:00,检查系统,,,,
    3,12:30,13:45,检查系统,,,,
    4,15:45,16:00,检查系统,,,,这当中的起始时间和结束时间应该加个日期啊。这样子好一点,如果数据量大了,会有问题的。不过如果要转换的话,1楼已经回答了,
    to_date('2000-01-01 00:00','yyyy-mm-dd 24hh:mi')
      

  2.   

    LOAD DATA
    INFILE test.dat  
    TRUNCATE INTO TABLE RECORDS
    FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
    (REC_ID,to_date('BEGIN_TIME','yyyy-mm-dd'),END_TIME,FIRST_PART,SECOND_PART,THREE_PART,TOTAL_PART)
    是这样加吗?以BEGIN_TIME为例