我用sqlldr将excel的数据导入到Oracle中,EXCEL中的某列数据格式为077/759,079/355,081/297,我在Oracle中建表是定义该列属性类型为varchar2(30),但在导入时在数据库中对应该列的属性值为077/759,而逗号后面的值则赋值给了下一个属性?
对啦,我最开始是将Excel以CSV的格式存储的(用TXT存储,由于数据多,存储后有乱码,就没有用这种方式).
望高手指点下,急用,谢谢!

解决方案 »

  1.   

    你如果数据存为csv,如果字段中包含逗号,在生成csv时应该字段值应该被双引号包围,
    但你的数据并没有,这样的话,不能区分是字段分隔的逗号,还是字段中的逗号。
      

  2.   

    分隔符的问题,你的sqlldr后边的参数改改就好了,你的sqlldr肯定设定成了,作为字段分隔。
    sqlldr后边的参数有两个分别是针对字段分隔和换行。
      

  3.   

    "077/759,
    079/355,
    081/297"1、fields terminated by ',' OPTIONALLY   ENCLOSED BY   '"'
    2、字段值中不能有换行符,默认换行符为记录分隔符,除非你有其它标志作为换行符。