You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Loader导入CSV时控制文件NUMBER类型字段数据异常求助

SQL*Loader数值转换异常解决办法

根因定位

问题核心为控制文件中ORDER_QUANTITY字段的类型声明错误:SQL*Loader中声明的INTEGER (8)属于二进制整数类型,仅适用于导入二进制格式存储的数值。而你的CSV文件是纯文本格式存储的数字,用该类型解析时会按字节规则转换二进制内容,最终得到和原始值完全不符的异常数值。

修复方案

直接将控制文件中ORDER_QUANTITY的类型改为文本型数值声明即可,常用两种写法:

  1. 显式声明为外部整数(适配文本格式的整数内容,自动转换为数据库对应数值类型)
OPTIONS (SKIP=1)
LOAD DATA
INFILE '/opt/home/myuser/username/Myfile.csv'
INTO TABLE TempArt
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
ARTICLE_NUMBER,
ORDER_SIZE,
ORDER_QUANTITY INTEGER EXTERNAL(8)
)
  1. 若字段可能包含小数,或需要更宽松的文本适配,可直接声明为CHAR类型,数据库会自动完成隐式类型转换:
ORDER_QUANTITY CHAR(8)

验证

修改控制文件后重新执行导入任务,执行SELECT * FROM TempArt查询即可得到和CSV文件完全一致的数值。

内容的提问来源于stack exchange,提问作者Vasu Parvatham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 17:12:02