ORA-01861: 文字与格式字符串不匹配,该如何解决?

2025-02-27 17:03:33
推荐回答(1个)
回答1:

解决方法:

一 Server 修改:
init文件中: NLS_DATE_FORMAT设定为YYYY-MM-DD
或者client端修改:
设定或修改环境变量
name:NLS_DATE_FORMAT
values:yyyy-mm-dd

二  sysdba登录,更新props$这个表里的字段即可。
update props$ set value = 'YYYY-MM-DD HH24:MI:SS' where parameter = 'NLS_DATE_FORMAT';

初用Oracle,常见错误汇总:

一  如图所示:我们在查询大于某个时间点的数据时发生“ORA-01861:文字与格式字符串不符”的错误。

SQL语句:

select * from tablename where update_time>'2017/03/01'

二  首先排除是否是字段用错,检查表中是否存在 update_time 字段。

三  排除字段错误的情况后,我们考虑到格式转换 to_date('2017/03/01','yyyy/mm/dd')。

四  通过to_date('2017/03/01','yyyy/mm/dd')日期时间格式转换,查询出结果。

五  同时习惯性的加上排序会使查询结果更直观。

Order by  表中的相关字段。