当前位置: 代码迷 >> Oracle管理 >> literal does not match format string 报错 坐等大牛,该怎么解决
  详细解决方案

literal does not match format string 报错 坐等大牛,该怎么解决

热度:433   发布时间:2016-04-24 06:20:27.0
literal does not match format string 报错 坐等大牛
select *
  from t_supplier_order a
 where a.so_status = 0
  and ceil(((To_date(sysdate, 'yyyy-mm-dd hh24:mi:ss') -
  To_date(a.so_ordertime, 'yyyy-mm-dd hh24:mi:ss'))) * 24 * 60) >= '10'



两个时间按照分钟来相减 结果报literal does not match format string 文字不符合格式,坐等大牛 谢谢

------解决方案--------------------
sysdate本身就是date类型,为什么还要to_date转换成date类型。
a.so_ordertime,我想也是date类型
那只需要直接相减就可以了啊。
SQL code
select *from t_supplier_order awhere a.so_status = 0and ceil(SYSDATE - a.so_ordertime * 24 * 60) >= '10'
------解决方案--------------------
SYSDATE 本身就是日期型,不需要to_date。
a.so_ordertime 同理,如果本身就是 date 类型,去掉 to_date,不是保留。
SQL code
SELECT *  FROM T_SUPPLIER_ORDER A WHERE A.SO_STATUS = 0   AND CEIL((SYSDATE -A.SO_ORDERTIME) * 24 * 60) >= '10';
  相关解决方案