外部表帮助-字段以','结尾的问题,如果字段中的值中存在其他逗号

我有一个用逗号分隔的txt文件,我正在使用一个外部表将数据加载到下面:

create table test_ext_table
     CUSTOMER_ID NUMber,CUSTOMER_NAME       VARCHAR2(255),CUSTOMER_NUMber     NUMber)  
     ORGANIZATION EXTERNAL 
    ( type oracle_loader 
      default directory TXT_DIR 
      access parameters 
      (RECORDS delimited by newline SKIP 1 
      FIELDS TERMINATED BY ','
       LRTRIM 
       MISSING FIELD VALUES ARE NULL 
      ) 
      LOCATION (TEST.txt)
      )
      REJECT LIMIT UNLIMITED);

我知道外部表可以识别以逗号结尾的每个字段,但是假设在文本文件中我有以下内容

TEST.txt

customer_id,customer_name,customer_number
1,a,10
2,b,11
3,c,12
4,Hello,Inc,13

对于txt文件中的第4行,由于customer_name字段中有一个附加的“,”,因此外部表无法正确将客户名读入表中。我有什么办法可以调整外部表,使其忽略其他“或”或任何特殊字符?

iCMS 回答:外部表帮助-字段以','结尾的问题,如果字段中的值中存在其他逗号

据我所知,有两种方法可以做到:

  • 可选地将字符串括入例如双引号
  • 将分隔符从逗号更改为其他内容,例如分号

否则,无法将其“保持原样”并使Oracle识别哪个逗号代表什么。

本文链接:https://www.f2er.com/1722289.html

大家都在问