gpt4 book ai didi

oracle - 使用 SQL Loader 将数据加载到表中

转载 作者:行者123 更新时间:2023-12-02 00:46:14 29 4
gpt4 key购买 nike

我正在通过 SQL Loader 将数据加载到表中数据加载成功,但我在所有行的特定列中获取垃圾(重复)值

插入后:TERM_AGREEMENT 列的每条记录的值均为“806158336”我的 csv 文件最多包含该列的 3 位数据,但我被迫将列定义设置为 Number(10)。

   LOAD DATA
infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
REPLACE
INTO TABLE LOAN_BALANCE_MASTER_INT
fields terminated by ',' optionally enclosed by '"'
(
ACCOUNT_NO,
CUSTOMER_NAME,
LIMIT,
REGION,

**TERM_AGREEMENT INTEGER**
)

create table LOAN_BALANCE_MASTER_INT
(
ACCOUNT_NO NUMBER(30),
CUSTOMER_NAME VARCHAR2(70),
LIMIT NUMBER(30),

PRODUCT_DESC VARCHAR2(30),
SUBPRODUCT_CODE NUMBER,

ARREARS_INT NUMBER(20,2),
IRREGULARITY NUMBER(20,2),
PRINCIPLE_IRREGULARITY NUMBER(20,2),


**TERM_AGREEMENT NUMBER(10)**
)

最佳答案

INTEGER 用于二进制数据类型。如果您要导入 csv 文件,我认为数字存储为纯文本,因此您应该使用 INTEGER EXTERNAL。 EXTERNAL 子句指定表示数字的字符数据。

编辑:问题似乎是文件的终止字符。您应该能够通过这样编辑 INFILE 行来解决此问题:

INFILE'/ipoapplication/utl_file/LBR_HE_Mar16.csv' "STR X'5E204D'"

其中“5E204D”是“^ M”的十六进制。要获取十六进制值,您可以使用以下查询:

SELECT utl_raw.cast_to_raw ('^ M') AS hexadecimal FROM dual;

希望这有帮助。

关于oracle - 使用 SQL Loader 将数据加载到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37524770/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com