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

Oracle で日付範囲内のデータを取得する

    FROMDATE/TODATE と仮定します データ型は varchar2 です to_date を実行すると;

    select to_date('01-JAN-80','dd-mon-yyyy') from dual;
    OutPut: January, 01 0080 00:00:00
      

    したがって、'01-JAN-2080' にはなりません。 しかし '01-JAN-0080'

    FROMDATE/TODATE であっても データ型は date です to_date を使用 良い考えではありません;

    create table t(c date);
    insert into t select sysdate from dual;
    select c, to_date(c,'dd-mon-yyyy') from t;
      

    出力:

    C                           TO_DATE(C,'DD-MON-YYYY')
    August, 25 2015 10:55:36    August, 25 0015 00:00:00
      

    それでも年は 0015 2015 ではありません .

    列のデータ型が日付の場合、trunc to get the 日付部分don't use to_date`.

    select * 
    from tbldeptdivision
    where deptid=21
    and trunc(sysdate) between trunc(fromdate) 
    and trunc(todate)
      

    1. ProxySQL:すべてのSevereninesリソース

    2. Herokuエラー:ActionView ::Template ::Error(#<Message:0x007fc9df016930>の未定義のメソッド `captcha')

    3. Java-データベースの挿入と更新をバッチ処理する方法

    4. エラー関数to_date(タイムゾーンのないタイムスタンプ、不明)の取得は存在しません