20110922164245为字符串形式的
包含年月日 时分秒假如要计算20110922164245和20111002154143是否在3天内
请问怎么在oracle中如何获取谢谢

解决方案 »

  1.   

    select trunc(to_date('20110922164245','yyyy-mm-dd hh24:mi:ss')
            -to_date('20111002154143','yyyy-mm-dd hh24:mi:ss'))
     from dual
      

  2.   

    正确.select trunc(to_date('20110922164245','yyyy-mm-dd hh24:mi:ss')
            -to_date('20111002154143','yyyy-mm-dd hh24:mi:ss'))
     from dual /*
    64245','YYYY-MM-DDHH24:MI:SS')-TO_DATE('20111002154143','YYYY-MM-DDHH24:MI:SS'))
    --------------------------------------------------------------------------------
                                                                                  -91 row selected.*/
      

  3.   


    -- 对头:
    select * from tb_name
    where to_date(date_column1,'yyyymmddhh24:mi:ss')-to_date(date_column2,'yyyymmddhh24:mi:ss')<3;
      

  4.   


    谢谢,可以用。就是要注意,我前面换成列名
    执行的时候报错
    “ORA-01841:(完整)年份值必须介于-4713和+9999之间,且不为0”
    后来发觉是因为列里没有值……
    ⊙﹏⊙b汗
      

  5.   

    1. 加一个 where 条件,判断字段 is not null
    2. case when 字段 is not null to_date... else 0 end这两种方法,你自己选择