Oracle ORA-01861: 文字与格式字符串不匹配(日期格式导致的问题)
1.问题
如图所示,Oracle ORA-01861: 文字与格式字符串不匹配。这里的日期格式出现问题,导致了ORA-01861错误。
2.解决方式
原因:
如果直接按照字符串方式,或者直接使用to_date('2010-01-01'),没有指定日期格式,就会导致你插入的时间格式和数据库现有的时间格式不一致,从而报错:ORA-01861: 文字与格式字符串不匹配。所以必须指定日期格式 。
解决方法:
指定日期格式:
to_date('2010-01-01','yyyy-mm-dd')
to_date('2010-01-01 10:10:10' , 'yyyy-mm-dd hh24:mi:ss')
如图:
但是问题还没有结束,我在使用select搜索READER表后,发现数据库默认的时间格式并不是我想要的格式,Oracle数据库的默认日期格式,即"DD-MON-RR",其中:
- "DD" 表示日期的两位数的天。
- "MON" 表示缩写的月份。
- "RR" 表示两位数的年份。
如下图所示:
选择直接修改Oracle默认日期格式即可,如下图所示:
ALTER SESSION SET NLS_DATE_FORMAT ='YYYY-MM-DD';
ALTER SESSION SET NLS_DATE_FORMAT ='YYYY-MM-DD HH24:MI:SS';
成功修改,且之后插入数据时无需再使用to_date,直接使用’yyyy-mm-dd’格式即可,如下图所示:
分类:
数据库 / Oracle数据库
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 我与微信审核的“相爱相杀”看个人小程序副业
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库