当前位置: 首页 > 知识库问答 >
问题:

ORA-01843:不是更改条件的有效月份

穆丁雨
2023-03-14

我遇到以下错误

ORA-01843:不是有效月份

SELECT  mx.work_order_no, mx.work_order_name, mx.comments
  FROM  max_orders mx
 WHERE  TO_DATE (wo_dt, 'dd/mm/rr') <= (TO_DATE (SYSDATE, 'dd/mon/rr') - 7)
WHERE   TO_DATE (wo_dt, 'dd/mm/rr') >= (TO_DATE (SYSDATE, 'dd/mon/rr') - 7)

底层视图

SELECT    work_order_no,
          work_order_name,
                 wo_dt,
                comments
      FROM    (SELECT     mx_master.work_order_no,
                             mx_master.work_order_name,
                             SUBSTR (mx_master.uom, 1, 15) wo_dt,
                             mx_master.remarks
                    FROM     mx_wo_data mx_master)

共有1个答案

卓新知
2023-03-14

我建议您创建一个存储函数来识别错误的行:

create function invalid_date(p_d in varchar2) return number as
  v_d date;
begin
  v_d := TO_DATE(p_d, 'dd/mm/rr');
  return 0;
exception 
  when others then
    return 1;
end;
/

select * from mx_orders where invalid_date(wo_dt)=1;
 类似资料:
  • 我为PHP更改了OCI8版本,由于该查询不起作用: 我收到这个消息: 消息:oci_execute():ora-01843:不是有效月份 它与Toad一起用于Oracle11。你有什么解决办法吗? 谢谢:)

  • 我有一个在PL-SQL视图中使用的查询。该视图包含一个名为Jde_date的函数,该函数采用Julian格式的date参数并将其转换为Gregorian格式,它工作得很好。 查询如下: 但是当我发布报告时,我得到错误ORA-01843:不是一个有效的月份。 我该怎么解决?

  • 在浏览结构和XML时,我注意到我的日期是字符串格式的: 元素name=“datetime”value=“datetime”label=“datetime”datatype=“xsd:string”breakorder=“ascending”fieldorder=“3” 所以我删除了to_char以获得日期格式 如何解决此问题? 编辑:列的格式,时间戳,格式是CHAR(14)值的例子是2020070

  • 我在尝试从按日期筛选的表中选择数据时遇到了一个问题。 例如: null 此选择的结果是:

  • 当我通过liquibase运行它时,我得到错误ORA-01843:不是一个有效的月份。 怎么可能?