select distinct sko.CONTENTId,
sko.HELPDESKID,
sko.SEGMENTID,
som.SUBMITTED_FOR_NAME,
sko.SUBMITTEDDATE,
to_date(sko.LASTMODIFIEDDATE, 'DD-MM-RR')
from sky_know_obj sko
join sky_object_mass som
on sko.CONTENTId = som.CONTENTId
where sko.LASTMODIFIEDDATE > date'2019-11-03'
and sko.LASTMODIFIEDDATE <= date'2019-12-03'
这是我的oracle sql查询。我正在用Python运行它。当我在Oracle SQL Developer中运行它时,它会给出结果,但每当我试图在pycharm中执行它时,就会出现以下错误:
cx_oracle.databaseError:ORA-01843:不是有效月份
当我跑的时候
select * from nls_session_parameters;
这在oracle sql developer中显示
NLS_DATE_FORMAT = DD-MM-RR
当您将to_date
应用于lastmodifieddate
列而失败时,似乎并非所有值在该列中都有有效的月份,这意味着它的数据类型不是date
,而是varchar2
。
SQL Developer并不返回所有行,而是返回前50行(大约50行)。如果查询扫描整个表或最初未显示的行,那么它将失败。尝试在SQL Developer中导航到返回记录集中的最后一行,以查看发生了什么。
另一方面,如果列的数据类型是date
,那么不要to_date
;那样做没有意义。
此外,您不应该依赖数据库的设置。控制您的数据,不要在表示日期时指定字符串。使用日期字面,例如。
where lastmodifieddate > date '2019-11-03' -- instead of '03-11-19'
我为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
当我通过liquibase运行它时,我得到错误ORA-01843:不是一个有效的月份。 怎么可能?
我遇到以下错误 ORA-01843:不是有效月份 底层视图