如何在 oracle 中将日期格式从“28-03-18 09:11:34.000000000 PM”转换为“MM-DD-YYYY HH24:MI:SS”
Posted
技术标签:
【中文标题】如何在 oracle 中将日期格式从“28-03-18 09:11:34.000000000 PM”转换为“MM-DD-YYYY HH24:MI:SS”【英文标题】:How to convert date format from "28-03-18 09:11:34.000000000 PM" to "MM-DD-YYYY HH24:MI:SS" in oracle 【发布时间】: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()
也会这样做。如果这是一个报告项目,那么您可能需要告诉您的报告工具如何格式化日期值。
【参考方案1】:
用它来设置你想要的格式
ALTER SESSION SET NLS_DATE_FORMAT = 'MMDDYYYY HH24:MI:SS';
【讨论】:
以上是关于如何在 oracle 中将日期格式从“28-03-18 09:11:34.000000000 PM”转换为“MM-DD-YYYY HH24:MI:SS”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 html5 日期时间选择器中将格式从 12 小时更改为 24 小时?