ORA-01861: 文字与格式字符串不匹配,该如何解决?
解决方法:
一 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 表中的相关字段。