oracle11g学习笔记二--关于oracle日期格式

今天在插入带有日期格式的记录时,出现错误:提示:ORA-01843: 无效的月份
其中记录里的格式为25-MAY-2006,后来用了sysdate的格式(select sysdate from dual)才发现默认的格式是
04-11月-2006,中文版的oracle啊,
索性还是用to_date(2006-11-04,'yyyy-mm-dd'),还有插入成功后,在Datebase Control页面下还是没查看到数据(插入操作在sql*plus下完成),最后再输个commit,才在页面上看到。
    可以更改默认的日期显示格式:
SQL> alter session set nls_date_format='yyyymmdd';

这种方法只能改掉在当前会话里的日期显示格式,当重新建立一个会话的时候,必须重新执行该命令。要永久更改,如下:
2改变oracle
ON UNIX :
change .profile NSL_DATE_FORMAT=YYYYMMDD;
export NLS_DATE_FORMAT

On windows:
在注册表的KEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0
添加字串值NLS_DATE_FORMAT.将其值设为YYYY-MM-DD-HH24:MI:SS

下面语句显示包括时间数据的日期:
select to_char(po_date,'dd-mm-yyyy hh24:mi:ss') date_time
from purchase_orders;

你可能感兴趣的:(oracle,sql,windows,unix)