sql >> データベース >  >> RDS >> Oracle

日付形式のOracleSQLクエリ

    to_date() 00:00:00に日付を返すため、比較している日付から分を「削除」する必要があります。

    select * 
    from table
    where trunc(es_date) = TO_DATE('27-APR-12','dd-MON-yy')
    

    trunc(es_date)にインデックスを作成することをお勧めします それがあなたが定期的にしていることなら。

    文字通りの'27-APR-12' デフォルトの日付形式を別の形式に変更すると、非常に簡単に失敗する可能性があります。したがって、常にto_date()を使用するようにしてください 適切なフォーマットマスク(またはANSIリテラル:date '2012-04-27'

    to_date()を正しく使用しましたが 暗黙のデータ型変換に依存しない場合でも、'dd-MON-yy'の形式のため、to_date()の使用には微妙な落とし穴があります。 。

    言語設定が異なると、これは簡単に失敗する可能性があります。 TO_DATE('27-MAY-12','dd-MON-yy') NLS_LANGがドイツ語に設定されている場合。言語によって異なる可能性のある形式のものは避けてください。 4桁の年を使用し、数字のみを使用します。例: 'dd-mm-yyyy' または'yyyy-mm-dd'



    1. 「無効なオブジェクト名「OPENJSON」」の修正方法。 SQLServerで

    2. テーブルが空の場合はINSERTを実行しますか?

    3. mysqlで時間がかかりすぎて注文する

    4. ORACLE更新トリガー後:ORA-04091変更テーブルエラーの解決