06/23/2008 4:00:00 PM
日付をこの形式に変換したい
MON June 23 16:00:00 EDT 2008
日付を上記の形式に変換するという私の要件を満たすためのSQLクエリを教えてください。
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
(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
? 私は後者を想定しています。