记一次:Oracle 报错 ORA-01843: not a valid month

记一次:Oracle 报错 ORA-01843: not a valid month

在导入SQL文件是出现,表导入正确,但是数据没有成功导入。

1,先找问题所在:

复制一个insert的语句在Navicat进行测试,出现报错。

ORA-01843: not a valid month

2,确认问题:

在网上搜了一下,说是日期转换的问题。(我的数据中日期数据是中文格式的)

问题所在:

客户端nls_date_language为AMERICAN

3,解决问题

修改nls_date_language参数为中文

-- 该命令只是当前会话有用
ALTER SESSION SET nls_date_language='SIMPLIFIED CHINESE';

上面的操作有个缺陷是支队当前会话有用。在新建查询里面插入一两条数据是可以使用的。

但是我是要运行sql文件的,这个方法好像就不能用了。

因此,就另寻其他方法了。

  1. 既然是时间中文转换的问题,那能不能再sql语句里面进行添加上SIMPLIFIED CHINESE直接转换。

  2. 然后我就找怎么在sql语句里面配置的方法。

Oracle不同系统之间时间转换(NLS_DATE_LANGUAGE )

--英文:
SELECT TO_CHAR(sysdate,
       
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值