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

Oracle 12c中时间戳转dd/mm/yyyy格式报错求正确SQL

解决ORA-01849错误的正确SQL语句

错误原因:你使用的hh格式掩码对应12小时制(范围1-12),但时间戳里的小时是22点(24小时制),超出范围触发了ORA-01849错误。

根据order_date的字段类型,提供两种解决方案:

  • 如果order_date是字符串类型(存储的是类似'15-JUL-18 22.04.11.587000000'的文本):

    SELECT TO_CHAR(TO_DATE(order_date, 'dd-mon-yyyy hh24:mi:ss.ff'), 'dd/mm/yyyy')
    FROM Titan_order;
    

    用hh24匹配24小时制的小时数,ff匹配时间戳的微秒部分(如果不需要可以省略,但保留更准确)。

  • 如果order_date本身是TIMESTAMP或DATE类型(数据库存储的是时间戳而非字符串):

    SELECT TO_CHAR(order_date, 'dd/mm/yyyy')
    FROM Titan_order;
    

    直接用TO_CHAR格式化即可,无需额外转换为DATE类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:38:12