select to_date(field1,"yyyy-mm-dd:hh")-todate(field2,"yyyy-mm-dd:23") from duedate
这么写行吗?

解决方案 »

  1.   

    select (to_date(field1,'yyyy-mm-dd hh24:mi')-to_date(field2||' 23:00','yyyy-mm-dd hh24:mi'))*24 from tab_name;
      

  2.   

    select (to_date(field1,'yyyy-mm-dd hh24:mi:ss')-todate(field2,'yyyy-mm-dd hh24:mi:ss'))*24 from duedate;
      

  3.   

    ORA-01861: 文字与格式字符串不匹配
      

  4.   

    你的field1/field2中的时期格式是什么样的,写出来
      

  5.   

    列出你数据库中field1的格式 如
    field1
    -------
    2004-11-24 08:00
      

  6.   

    如果是VARCHAR2类型的,二楼的应该没问题啊
      

  7.   

    格式如下
    field1字段内容:
        2004-9-22 10:25
    field2字段内容:
        21-9月-04
      

  8.   

    SQL> select (to_date(ACT_ETADATE,'yyyy-mm-dd hh24:mi')-to_date(act_insertdate||' 23:00','yyyy-mm-dd hh24:mi'))*24 from t2ashipmentno_kpi;
    ERROR 位于第1行:
    ORA-01861: 文字与格式字符串不匹配
      

  9.   

    >>field2字段内容:21-9月-04这当然不行了~要换成 YYYY-MM-DD 形式的
      

  10.   

    这样换
    SQL> select (to_date(ACT_ETADATE,'yyyy-mm-dd hh24:mi')-to_date(act_insertdate||' 23:00','dd-mm-yy hh
    24:mi'))*24 from t2ashipmentno_kpi;
    select (to_date(ACT_ETADATE,'yyyy-mm-dd hh24:mi')-to_date(act_insertdate||' 23:00','dd-mm-yy hh24:mi
                                                                             *
    ERROR 位于第1行:
    ORA-01841: (全)年度值必须介于 -4713 和 +9999 之间,且不为 0
      

  11.   

    还是这么换SQL> select (to_date(ACT_ETADATE,'yyyy-mm-dd hh24:mi')-to_date(to_date(act_insertdate,'yyyy-mm-dd')||' 23:00','dd-mm-yy hh24:mi'))*24 from t2ashipmentno_kpi;
    ERROR 位于第1行:
    ORA-01861: 文字与格式字符串不匹配
      

  12.   

    select (to_date(ACT_ETADATE,'yyyy-mm-dd hh24:mi')-to_date(act_insertdate))*24 from t2ashipmentno_kpi;