zoukankan      html  css  js  c++  java
  • ORA-01843:无效的月份

            Oracle数据库默认情况下。会以DD-MON-YY的形式显示日期。当中DD是天数,MON是月份的前三个字母(大写)。而YY是年份的最后两位。数据库实际上会为年份存储4位数字,可是默认情况下仅仅会显示最后两位。


    一个简单的语句:

           SELECT TO_DATE('21-MAY-2014') FROM dual;

    引发ORA-01843:无效的月份。


    PL/SQL Developer错误:


    命令行:


           分析:通过命令行中日期的显示发现。日期的显示是以中文格式显示(Oracle知道我们client的环境为中文环境,所以转换为中文格式显示),而我们SQL语句所针对的环境是英文环境。到这里错误已经非常明显啦。


    解决之道(统一日期的语言):

    统一中文: SELECT TO_DATE('21-5月-2014') FROM dual;

    统一英文:

    1、改动client会话日期的语言: ALTER SESSION SET nls_date_language='american';

    2、成功运行: SELECT TO_DATE('21-MAY-2014') FROM dual;






  • 相关阅读:
    android-手势密码
    MS SQL 技巧总结--持续更新
    MySQL 笔记一
    spring 家族
    Java集合
    javaScript
    java 知识点随记
    MySQL 知识点随记
    odoo 权限杂记
    win10 Ubuntu子系统安装&odoo10社区版安装
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7028518.html
Copyright © 2011-2022 走看看