Oracle日期格式

时间:2013-08-08 07:46:38

标签: sql oracle oracle11g

我想将日期06/23/2008 4:00:00 PM转换为此格式

MON June 23 16:00:00 EDT 2008

oracle中的

。请给我sql查询以满足我将日期转换为上述格式的要求。

2 个答案:

答案 0 :(得分:1)

在PostgreSQL下,它将如下(它应该在Oracle下正常工作):

select to_char(DATE '06/23/2008', 'DY FMMONTH dd 16:00:00 "EDT" yyyy');

产地:

MON JUNE 23 16:00:00 EDT 2008

'MONTH'之前的'FM'删除了空格填充(添加以使所有月份占用相同的长度)。

双引号EDT可确保它不会被解释为to_char日期格式的一部分。

更新以包含时间:

select to_char(TIMESTAMP '06/23/2008 4:00:00 PM', 'DY FMMONTH dd HH24:MI:SS "EDT" yyyy');

产地:

MON JUNE 23 16:00:00 EDT 2008

答案 1 :(得分:0)

假设(mm/dd/yyyy)位实际上不是字符串的一部分:

select to_char(to_date(
        '06/23/2008 4:00:00 PM','MM/DD/YYYY HH:MI:SS PM')
       ,'DY fmMonth DD fmHH24:MI:SS "EDT" YYYY'
       ) from dual;

MON June 23 16:00:00 EDT 2008

您没有指定每月显示的内容以及小于10的小时数 - 例如6月5日应显示为June 05还是June 5?我假设后者。