首页 > 解决方案 > 如何将日期列转换为不同的格式?

问题描述

我有一个数据列(VARCHAR2),如下所示,

Apr 25 2014
Oct 28 2010
Dec 17 2004
Jan 20 2006

我需要不同格式的数据,例如,

25-APR-14
28-OCT-10
17-DEC-04
20-JAN-06

任何帮助表示赞赏,谢谢。

标签: oracle

解决方案


因此,您需要将字符串转换为日期:这很容易:

select to_date(your_col, 'Mon DD YYYY') your_col_dt
from your_table

该列将以默认的 NLS 日期格式呈现,从您的问题来看,我猜这是DD-MON-YY不需要进一步调整的。

我遇到了同样的错误。不是一个有效的月份

请注意,因为您的列被定义为 varchar2 它可以包含各种垃圾,从不同格式的“日期”到在任何掩码下根本不是有效日期的东西。如果这是您的情况,您将需要一个函数来处理转换。


推荐阅读