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

如何在SQL Loader加载数据过程中自动重格式化日期

解决方案

SQL Loader 原生支持加载过程中自动完成日期格式转换,无需提前预处理CSV文件,性能远高于逐行转换方案。

现有配置失败的原因

你在DATE关键字后指定的是目标表的日期展示格式,而SQL Loader中DATE后接的格式参数是用来描述CSV文件中输入的日期字符串的格式,不是输出到表的格式。Oracle DATE类型是内部二进制存储结构,你看到的DD-MON-YY只是数据库的NLS_DATE_FORMAT参数控制的展示样式,只要导入时正确识别输入的日期字符串,存储到表中的数据自然会匹配数据库的日期规则,查询时也会按DD-MON-YY正常展示。

正确的控制文件配置

LOAD DATA
INFILE 'data.csv'
TRUNCATE
INTO TABLE data
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
COL1,
COL2,
CREATED_DATE DATE 'YYYY-MM-DD HH24:MI:SS',
LAST_UPDT_DATE DATE 'YYYY-MM-DD HH24:MI:SS'
)

注意这里用HH24而不是HH,避免CSV中12~23点的时间识别错误。

千万级数据加载优化建议

  • 启动SQL Loader时添加DIRECT=TRUE参数开启直接路径加载,跳过大部分数据库逻辑层校验,加载速度可提升3~10倍,完全可以应对1000万级别的CSV文件。
  • 若存在可忽略的无效日期行,可添加ERRORS=10000参数避免少量脏数据导致加载中断。

内容的提问来源于stack exchange,提问作者Russell Quinlan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:45:01