环境变量与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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/271063/viewspace-1003445/