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

如何从Dev 6i向Oracle 11g R2的TIMESTAMP类型字段输入数据

解决Dev 6i向Oracle 11g R2 TIMESTAMP字段插入数据的问题

问题根源

Dev 6i搭载的PL/SQL版本偏旧,不支持Oracle 10g及以后推出的TO_TIMESTAMP函数;同时你之前的写法存在冗余(TO_DATE(SYSDATE, ...)中SYSDATE本身就是DATE类型,无需二次转换),最终触发类型不匹配报错。

可行解决方案

  • 直接插入SYSDATE(秒级精度)
    TIMESTAMP类型兼容DATE类型,Oracle会自动完成隐式转换,执行以下语句即可:

    INSERT INTO table(timestamp_column) VALUES(SYSDATE);
    

    注意:该方法仅保留秒级精度,无法获取毫秒级数据。

  • 用CAST函数转换为TIMESTAMP(毫秒级精度)
    若需要毫秒级时间戳,可通过CAST函数将DATE类型转为TIMESTAMP,Dev 6i支持该函数:

    INSERT INTO table(timestamp_column) VALUES(CAST(SYSDATE AS TIMESTAMP));
    

    此操作会在SYSDATE基础上补全毫秒位(默认值为0)。如果Dev 6i能识别SYSTIMESTAMP,也可以直接插入当前完整时间戳:

    INSERT INTO table(timestamp_column) VALUES(SYSTIMESTAMP);
    
  • 字符串转TIMESTAMP(兼容极端旧版本)
    若上述方法仍报错,可将当前时间按TIMESTAMP格式拼接成字符串,再通过CAST转换:

    INSERT INTO table(timestamp_column) VALUES(
      CAST(TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || '.000000' AS TIMESTAMP)
    );
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 03:47:07