【问题标题】:Oracle Date Format Conversion IssueOracle 日期格式转换问题
【发布时间】: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”

标签: oracle date datetime


【解决方案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”......傻傻的我!
猜你喜欢
  • 2016-01-25
  • 1970-01-01
  • 2012-04-16
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多