oracle字符类型时间转换 ORA-01843 无效的月份
来源:互联网 发布:c语言程序源代码 编辑:程序博客网 时间:2024/05/01 10:31
--oracle中在转换 字符类型的时间数据有时会报错 ORA-01843: 无效的月份
如:
SQL> select to_date('07-SEP-2017','dd-mon-yy') from dual;
select to_date('07-SEP-2017','dd-mon-yy') from dual
ORA-01843: 无效的月份
SQL>
这个问题是输入的字符和数据库默认的时间格式不匹配导致。
查询本地nls_data_language的值,是简体中文
SELECT value FROM v$parameter WHERE name = 'nls_date_language';
SIMPLIFIED CHINESE
故如果字符串格式如下可以转换成功:
SQL> select to_date('07-9月-2017','dd-mon-yy') from dual;
TO_DATE('07-9月-2017','DD-MON-
------------------------------
2017/9/7
SQL>
--但是如果实际字符串就是07-SEP-2017这种英文格式的,则需要修改nls_data_language参数
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
但是一般我们不想要修改系统参数,可以通过在查询层加上该参数解决。
SQL> select to_date('07-SEP-2017','dd-mon-yy', 'nls_date_language = AMERICAN') from dual
2 ;
TO_DATE('07-SEP-2017','DD-MON-
------------------------------
2017/9/7
SQL>
问题解决
如:
SQL> select to_date('07-SEP-2017','dd-mon-yy') from dual;
select to_date('07-SEP-2017','dd-mon-yy') from dual
ORA-01843: 无效的月份
SQL>
这个问题是输入的字符和数据库默认的时间格式不匹配导致。
查询本地nls_data_language的值,是简体中文
SELECT value FROM v$parameter WHERE name = 'nls_date_language';
SIMPLIFIED CHINESE
故如果字符串格式如下可以转换成功:
SQL> select to_date('07-9月-2017','dd-mon-yy') from dual;
TO_DATE('07-9月-2017','DD-MON-
------------------------------
2017/9/7
SQL>
--但是如果实际字符串就是07-SEP-2017这种英文格式的,则需要修改nls_data_language参数
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
但是一般我们不想要修改系统参数,可以通过在查询层加上该参数解决。
SQL> select to_date('07-SEP-2017','dd-mon-yy', 'nls_date_language = AMERICAN') from dual
2 ;
TO_DATE('07-SEP-2017','DD-MON-
------------------------------
2017/9/7
SQL>
问题解决
阅读全文
0 0
- oracle字符类型时间转换 ORA-01843 无效的月份
- oracle ora-01843: 无效的月份
- ORA-01843 无效的月份
- ORA-01843: 无效的月份
- ORA-01843: 无效的月份
- ORA-01843:无效的月份
- ORA-01843:无效的月份
- ORA-01843:无效的月份
- ORA-01843:无效的月份
- Oracle错误:ORA-01843:无效月份的问题
- oracle timestamp类型, 无效的月份
- ORA-01843:无效的月份解决方法
- SQL []; ORA-01843: 无效的月份
- ASH ORA-01843: 无效的月份
- ofbiz ORA-01843: 无效的月份错误 ORA-01843: not a valid month while using oracle database
- ORACLE 插入时间时显示'无效的月份'的问题
- ORACLE 插入时间时显示'无效的月份'
- ORACLE 插入时间时显示'无效的月份'
- mysql外键类型
- Math.random()函数生成n到m间的随机数字
- nodelet
- 关于CGLIB 和 PROXY 的两个小例子
- java 发起http请求
- oracle字符类型时间转换 ORA-01843 无效的月份
- 封装XHR对象
- 据说家长们被这道小学数学题套路到哭!你的答案是_____
- 无法解决R_AARCH64_ADR_PREL_PG_HI21重定向于符号__stack_chk_guard@GLIBC_2.17
- ScheduleThreadPoolExecutor的工作原理与使用示例
- QT中生成字符串md5的方法
- Android:Java Coding Guidelines插件的使用(Mac系统)
- c++中的强制类型转换
- 使用Zuul构建API Gateway