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

如何将CSV中的日期格式转换后导入Oracle外部表

解决方案

1. 调整外部表定义,正确解析CSV日期格式

先把外部表的日期类字段从VARCHAR2改为原生日期/时间类型,并在访问参数中指定匹配CSV格式的掩码:

CREATE TABLE EXT_TABLE 
(
    "JOB" VARCHAR2(255 BYTE) COLLATE "USING_NLS_COMP", 
    "ORDER_DATE" DATE COLLATE "USING_NLS_COMP", 
    "START" TIMESTAMP COLLATE "USING_NLS_COMP", 
    "END" TIMESTAMP COLLATE "USING_NLS_COMP"
)  
DEFAULT COLLATION "USING_NLS_COMP" 
ORGANIZATION EXTERNAL 
( 
    TYPE ORACLE_LOADER
    DEFAULT DIRECTORY "DATA_PUMP_DIR"
    ACCESS PARAMETERS
    ( 
        RECORDS DELIMITED BY DETECTED NEWLINE 
        NOLOGFILE NOBADFILE NODISCARDFILE 
        READSIZE=10000000 
        CREDENTIAL 'DWH' 
        FIELDS TERMINATED BY ';' 
        OPTIONALLY ENCLOSED BY '"' 
        CONVERT_ERROR REJECT_RECORD 
        DATE_FORMAT DATE MASK 'Month dd, YYYY'  -- 匹配CSV中ORDER_DATE的英文月份格式
        DATE_FORMAT TIMESTAMP MASK 'Month dd, YYYY HH:MI:SS AM'  -- 匹配START/END的带12小时制时间格式
        NOTRIM 
        MISSING FIELD VALUES ARE NULL   
    )
    LOCATION
    ( 
        'https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com/v1/frn2gep9qi8i/INPUT/myfile.csv'
    )
)
REJECT LIMIT 25500000 
PARALLEL; 

2. 查询时格式化输出目标格式

通过TO_CHAR函数将原生日期/时间类型转换为你需要的字符串格式:

SELECT
    "JOB",
    TO_CHAR("ORDER_DATE", 'DD/MM/YYYY') AS ORDER_DATE,
    TO_CHAR("START", 'DD/MM/YYYY HH24:MI') AS START,
    TO_CHAR("END", 'DD/MM/YYYY HH24:MI') AS END
FROM EXT_TABLE;

补充说明

  • 原生类型解析:把CSV字符串转成Oracle日期/时间类型,避免字符串处理的格式歧义,也方便后续的日期运算。
  • 掩码匹配规则:'Month dd, YYYY'对应英文月份全称+日期+年份的格式;'Month dd, YYYY HH:MI:SS AM'对应带12小时制标记的时间格式。
  • 输出格式控制:'DD/MM/YYYY'生成日/月/年格式,'HH24:MI'自动补前导零,生成24小时制的小时和分钟。

如果无法修改外部表字段类型,也可以直接对原VARCHAR2字段进行转换:

SELECT
    "JOB",
    TO_CHAR(TO_DATE("ORDER_DATE", 'Month dd, YYYY'), 'DD/MM/YYYY') AS ORDER_DATE,
    TO_CHAR(TO_TIMESTAMP("START", 'Month dd, YYYY HH:MI:SS AM'), 'DD/MM/YYYY HH24:MI') AS START,
    TO_CHAR(TO_TIMESTAMP("END", 'Month dd, YYYY HH:MI:SS AM'), 'DD/MM/YYYY HH24:MI') AS END
FROM EXT_TABLE;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:42:40