1.Oracle里有一張表的字段是Date類型。插入2010-01-01總是報格式不正確。
解決辦法有:
1.臨時修改
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.
或者:initsid.ora 中添加NLS_DATE_FORMAT=yyyy-mm-dd hh24:mi:ss。同時去掉注冊表中的NLS_LANG字串值
我采用的修改注冊表的方法。
先可以用:select * from v$NLS_Parameters;查詢一下:NLS_DATE_FORMAT 值應該為:YYYY-MM-DD HH24:MI:SS
還有一個方法就是利用函數:to_date('2010-01-01','yyyy-mm-dd') 本文出自:億恩科技【www.artduck.net】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|