環境變數與TO DATE函式

wmlm發表於2008-05-06
今天在做一個資料庫資料初始化時,執行資料初始化指令碼時,遇到了一個問題,to_date函式不能正常轉換?[@more@]

環境變數與TO DATE函式
-- 今天在做一個資料庫資料初始化時,執行資料初始化指令碼時,遇到了一個問題,to_date函式不能正常轉換?
-- 原指令碼中的內容類似以下:
INSERT INTO EMPLOYEES ( EMPLOYEE_ID, FIRST_NAME, LAST_NAME, JOB_ID, MANAGER_ID, HIRE_DATE, SALARY,
DEPARTMENT_ID ) VALUES (
2723, 'Pasty', 'Gaudet', 96, 19, TO_Date( '04/05/1998 01:11:12 PM', 'MM/DD/YYYY HH:MI:SS AM')
, 87662.97, 62);

報的錯誤如下:
3451, TO_Date( '02/13/2001 11:56:20 AM', 'MM/DD/YYYY HH:MI:SS AM'), 103736, 4034
*
ERROR 位於第 3 行:
ORA-01855: 要求 AM/A.M. 或 PM/P.M.

-- 怎麼回事兒? TO DATE不能轉換了?
select to_char(sysdate,'MM/DD/YYYY HH:MI:SS AM') from dual; 才明白,原來環境變數還是中文字符集.
set nls_lang=AMERICAN_AMERICA.US7ASCII
再來做,錯誤消失。

如果不改變環境變數如何處理呢?將11:56:20 AM換成11:56:20 上午 也可以.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-1003445/,如需轉載,請註明出處,否則將追究法律責任。

相關文章