テキストフィールドは日付ですが、時には時間コンポーネントもあります。例:Oracle 10g - 時間コンポーネントの削除
"23/1/1999"
"25/2/2003 05:18:00"
ここでは、単に日付コンポーネントのみをクエリして並べ替えたいと考えています。私の試み
TO_DATE(
TO_CHAR(
TO_DATE(mytextfield , 'DD-MM-YYYY HH:MI:SS')
,'DD-MM-YYYY')
,'MON-YYYY')
は、上記(。ORA-01843無効月)外TO_DATEに
TO_CHAR(
TO_DATE(mytextfield , 'DD-MM-YYYY HH:MI:SS')
,'DD-MM-YYYY')
上記の作品を失敗した、しかし、私は、文字列ではなく、日付が残っています。
--------ソリューションの回答で述べたようにジャスト
EXTRACT(MONTH FROM TO_DATE(timetable.string_time) , 'DD-MM-YYYY HH24:MI:SS'))
EXTRACT(YEAR FROM TO_DATE(timetable.string_time) , 'DD-MM-YYYY HH24:MI:SS'))
を使用受け入れ答え
を使用して、あなたは、ORDER BYで、あなたがそれを使用する順番を入れ替えることができますし、 SELECTの中で。
月に少しの書式設定が必要になりますが、いくつかのコンスタットは非常にうまく動作します。
+1、私は 'HH'は' HH24'にする必要があることを賭けている:月/年は、その後、私はあなたが個々のフィールドを構成し、以下を使用する必要があると思います。 – ruakh
あなたは正しいです。修正されました。 – Anonymous
しかし、TRUNCの後にMON-YYYY形式に日付を変更するのは暑いですか?私はそれをすることはできません。 –