0

06/23/2008 4:00:00 PM 日付をこの形式に変換したい

MON June 23 16:00:00 EDT 2008

日付を上記の形式に変換するという私の要件を満たすためのSQLクエリを教えてください。

4

2 に答える 2

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
于 2013-08-08T07:56:28.527 に答える
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 05June 5? 私は後者を想定しています。

于 2013-08-08T08:18:33.797 に答える