Oracle 日期格式转换问题

Posted

技术标签:

【中文标题】Oracle 日期格式转换问题【英文标题】:Oracle Date Format Conversion Issue 【发布时间】:2015-03-11 19:21:17 【问题描述】:

我已经走到了尽头,所以希望有人能帮助我!我对 Oracle 很陌生,但确实有 SQL 背景,这就是为什么我觉得这很令人沮丧!

我们有一个在后端运行 Oracle 的系统。我对系统的访问权限非常有限,只能编写选择查询。

我已经编写了一个查询来获取我想要的数据,但日期格式显示为 mm dd yyyy 我需要的是 dd/mm/yyyy

我跑了SELECT sysdate FROM dual,然后返回:

SYSDATE
03 11 2015

所以我的选择语句是(action_date 是有问题的列)

Select username, action_date from adminview

我已经尝试了所有我能想到的更改日期格式的方法,包括:

to_date(action_date,'dd/mm/yyyy')

to_date(action_date,'dd/mm/yyyy','nls_language=English')

to_date(to_date(action_date,'mm dd yyyy'),'dd/mm/yyyy')

我也尝试过to_char

【问题讨论】:

您的列action_date 是日期还是varchar? 试试alter session set nls_date_format = 'DD/MM/YYYY' 我不确定 Aramillo,因为我通过视图访问它。我无权访问任何表或数据类型。我实际上只能运行 select 语句,kordirko .... 所以不能运行“alter” 【参考方案1】:

如果要格式化DATE 值,请使用TO_CHAR()

SELECT username, TO_CHAR(action_date, 'DD/MM/YYYY') AS action_date
  FROM adminview;

如果它不是DATE 值,那么您需要将其转换为DATE(基于它当前的样子),然后使用TO_CHAR() 进行格式化。

【讨论】:

你是一颗宝石!谢谢你。这是我错过的“AS action_date”......傻傻的我!

以上是关于Oracle 日期格式转换问题的主要内容,如果未能解决你的问题,请参考以下文章

oracle SQL语句,日期格式转换

oracle日期转换问题

oracle日期转换

在 oracle 中从日期格式转换为日期格式

oracle中如何转换时间格式

oracle日期转换