本人用sqlldr 来导入日期格式:如下
LOAD DATA
INFILE 'DECLOG_SCORE_HEAD_20070201.TXT'
APPEND
INTO TABLE DECLOG_SCORE_HEAD
(FORM_ID       POSITION  (12:29) CHAR,
AGENT_CODE    POSITION  (30:39) DATE "YYYYMMDD",
)我在上面控制语句导入文数据时,发现AGENT_CODE    POSITION  (30:39)字节中有00000000记录,就会导入失败,请问如何把00000000做为空值来导入数据库中呢?谢谢!!!

解决方案 »

  1.   

    你是想要为0000000的这条记录也导进去,但是导进去为空??有几种方法:
    1:采用直接导入,然后从数据库中UPDATE
    2:自定义一个函数,判断是否为0000000,若是为空
      

  2.   

    其实你先按照正常导入,然后没有导进去的记录会出现在BAD文件里面,然后可以对这些记录进行剔除,然后再导一变不就可以了
      

  3.   

    在文件中,先把agent_code为000000000的记录替换为空再导入就行了.
    方法有很多
      

  4.   

    用NULLIF就行了LOAD DATA
    INFILE 'DECLOG_SCORE_HEAD_20070201.TXT'
    APPEND
    INTO TABLE DECLOG_SCORE_HEAD
    (FORM_ID       POSITION  (12:29) CHAR,
    AGENT_CODE    POSITION  (30:39) DATE "YYYYMMDD" NULLIF(AGENT_CODE="00000000"),
    )