错误提示:ORA-01861: literal does not match format string'
或者提示:文字与格式不匹配
to_date('2006-11-04','yyyy-mm-dd');
虽然这样可以插入成功,但是插入上千条的数据时,就太麻烦了
可以临时修改当前session内默认的日期显示格式:
alter session set nls_date_format='YYYY-MM-DD'
完全解决需要执行以下命令,并重启oracle
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
————————————————
附:修改NLS_DATE_FORMAT的四种方式
一、 在用户环境变量中指定(LINUX)
在用户的.bash_profile中增加两句:
export NLS_LANG=AMERICAN ---这一句必须指定,否则下一句不生效。
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
二、 在SQL*Plus的glogin.sql文件增加一句
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
三、 直接修改当前会话的日期格式
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
四、 修改数据库的参数,需要重启数据库后生效
SQL> alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
————————————————
网友评论