2016-06-28 1 views
0

私は 、私はエラー「無効なヶ月名」を取得し、いくつかのオプションのすべての時間をしようとしていた26/06/2016 00:00:00 にフォーマット2016/06/26でデータを変換しようとしています任意のアイデア/アドバイス?あなたは今までに最初にそれを変換する必要がある文字列を日付に変換するために おかげコンバートYYYY/MMは/ DD/MM/YYYYのHH24にddは:MI:SS

select to_date('2016/05/07 00:00:00','mm/dd/yyyy HH24:MI:SS') from dual 
+0

私の推測では、月の代わりに月の名前を含む書式文字列を使用していると思います。 –

+0

そのエラーを示したコマンドを表示します。 – Thomas

+0

こんにちは、私の回答を編集しました – bazyl

答えて

1

。あなたの問題は、日付ではなく文字列をフォーマットしようとしていることです。だから、特定の場合のために、それは次のようになります。

--convert it first to a date 
select to_date('2016/05/07 00:00:00','yyyy/mm/dd HH24:MI:SS') 
    from dual 

--then convert it to a string in the format you want: 
select to_char(to_date('2016/05/07 00:00:00','yyyy/mm/dd HH24:MI:SS'), 
       'mm/dd/yyyy HH24:MI:SS') 
    from dual 

--since you want it as a date: 

--then convert it to a string in the format you want: 
select to_date(to_char(to_date('2016/05/07 00:00:00', 
           'yyyy/mm/dd HH24:MI:SS'), 
         'mm/dd/yyyy HH24:MI:SS') 
       'mm/dd/yyyy HH24:MI:SS') 
    from dual 

あなただけに関係なく、フォーマットの日付にあなたの文字列を変換しないようにしたい場合は、単に最初の使用私が示した選択します。それを指摘するコメントの@Boneistに感謝します。

+0

ありがとうございます。しかし、問題は最後に、その日付の値を必要とすることです... – bazyl

+0

それから、もう一度日付に変換してください。 –

+0

私は試しましたが、エラーメッセージの日付形式のピクチャが終了しました。入力文字列全体を変換する前に終了しました。 " – bazyl