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

日付を比較するOracleSQL

    Oracleでは、DATE 常に時間要素があります。クライアントは時間コンポーネントを表示する場合と表示しない場合がありますが、同等性の比較を行おうとすると、時間コンポーネントは表示されたままになります。また、現在のセッションのNLS_DATE_FORMATを使用する文字列ではなく、常に日付を日付と比較する必要があります。 暗黙の変換を行うため、それらをかなり脆弱にします。 THatには、ANSI日付リテラルまたは明示的なto_dateのいずれかが含まれます。 通話

    TRUNCを使用できます DATEを切り捨てる関数 深夜まで

    SELECT *
      FROM porder
     WHERE trunc(odate) = date '2013-10-04'
    

    または、範囲比較を行うこともできます(odateのインデックスを利用できると、より効率的になります。 )

    SELECT *
      FROM porder
     WHERE odate >= to_date( '04-Oct-2013', 'DD-Mon-YYYY' )
       AND odate <  to_date( '05-Oct-2013', 'DD-Mon-YYYY' );
    



    1. クラスタ化された列ストアインデックスからの削除のシリアル化

    2. PHPを使用してMysqlからユーザーのコメントを取得する

    3. PL/SQLチェック日は有効です

    4. 複数の列を持つPostgreSQLの重複行の削除