【问题标题】:How to convert date format from "28-03-18 09:11:34.000000000 PM" to "MM-DD-YYYY HH24:MI:SS" in oracle如何在 oracle 中将日期格式从“28-03-18 09:11:34.000000000 PM”转换为“MM-DD-YYYY HH24:MI:SS”
【发布时间】:2021-10-31 02:38:51
【问题描述】:

我正在尝试为我遇到以下问题的一个报告项目转换日期:

select 
UPDATED_DT, to_CHAR(UPDATED_DT,'MM-DD-YYYY HH24:MI:SS'), TO_DATE(to_CHAR(UPDATED_DT,'MM-DD-YYYY HH24:MI:SS'),'MM-DD-YYYY HH24:MI:SS')
from COMPANY;

结果:

28-03-18 09:11:34.000000000 PM          03-28-2018 21:11:34           28-03-2018 21:11:34

如果您发现我使用 TO_CHAR 获得了正确的格式,但是我想要日期数据类型中的日期。我怎样才能实现“MM-DD-YYYY HH24:MI:SS”?

【问题讨论】:

  • 日期数据类型没有人类可读的格式,它有一个内部表示。您的客户端/IDE/应用​​程序/报告工具通常会将其转换为格式化字符串(例如,使用您的会话 NLS_DATE_FORMAT 设置)以进行显示; to_char() 也会这样做。如果这是一个报告项目,那么您可能需要告诉您的报告工具如何格式化日期值。

标签: oracle


【解决方案1】:

用它来设置你想要的格式

ALTER SESSION SET NLS_DATE_FORMAT = 'MMDDYYYY HH24:MI:SS';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多