我想将日期06/23/2008 4:00:00 PM
转换为此格式
MON June 23 16:00:00 EDT 2008
。请给我sql查询以满足我将日期转换为上述格式的要求。
答案 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
?我假设后者。