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

Oracle中如何将日期转为DATE类型的MM-DD-YYYY HH24:MI:SS格式

关于Oracle DATE类型格式转换的问题解答
  • Oracle的DATE类型是内部二进制存储结构,本身不存在「格式」属性,你看到的所有日期样式都是DATE类型转换为字符串后的展示结果
  • 你需求里提到的「格式为MM-DD-YYYY HH24:MI:SS的DATE类型日期」,本质是要DATE类型的字段在展示时按照上述格式输出,不需要对字段本身做额外的存储层面转换操作

实现方案

方案1:临时修改当前会话的日期展示格式(适用调试、单次查询场景)

执行如下SQL修改当前会话的默认日期转换格式:

ALTER SESSION SET NLS_DATE_FORMAT = 'MM-DD-YYYY HH24:MI:SS';

修改完成后直接查询原DATE字段即可:

SELECT UPDATED_DT FROM COMPANY;

此时查询返回的UPDATED_DT依然是标准DATE类型,支持所有日期运算、排序操作,展示效果就是你需要的03-28-2018 21:11:34格式。

方案2:报表工具层面固定日期格式(适用报表开发场景)

如果是在报表项目中使用,不需要修改数据库会话参数,直接在报表工具的字段格式配置里,把日期类型字段的展示格式设置为MM-DD-YYYY HH24:MI:SS即可,所有主流报表工具都支持日期字段的自定义展示格式配置。

冗余操作说明

你之前查询语句里的TO_DATE(to_CHAR(UPDATED_DT,'MM-DD-YYYY HH24:MI:SS'),'MM-DD-YYYY HH24:MI:SS')属于无效冗余操作,不会改变DATE类型的存储值,只会额外消耗计算性能,实际使用中不需要写这类转换逻辑。

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

相关产品推荐
方舟 Agent Plan

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

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