填坑ORA-01846 周中的日无效
Posted loliang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了填坑ORA-01846 周中的日无效相关的知识,希望对你有一定的参考价值。
在数据库迁移过程有如下时间格式:
Sun Jul 22 18:14:38 CST 2018
格式化为DATE:
TO_DATE(‘Sun Jul 22 18:14:38 CST 2018‘,‘Dy MON DD HH24:MI:SS "CST" YYYY‘)
导入ORACLE11g中报错信息为
ORA-01846 周中的日无效
解决过程:
在SQL无法修改的情况下,解决数据库的时间格式问题
一、确认数据库语言环境
使用SQL语句查看数据库存放数据的语言环境参数:
SELECT * FROM V$NLS_PARAMETERS;
确认目前数据库时间格式为中文简体,SQL语句中日期格式为英文。
二、根据时间修改NLS_DATE_LANGUAGE参数
- 方法一
在格式化时为日期指定语言参数:
TO_DATE(‘Sun Jul 22 18:14:38 CST 2018‘,‘Dy Mon DD HH24:MI:SS YYYY‘,‘NLS_DATE_LANGUAGE = American‘)
- 方法二
修改当前会话参数
alter session set nls_date_language=‘american‘;
修改成功后:
操作日期格式:
当然,修改nls_date_language参数的方法不止这两种,只是在此场景下适合用这两种方法解决。
以上是关于填坑ORA-01846 周中的日无效的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode - 1185 - 一周中的第几天 - java - 细喔
Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]