存储过程里执行动态SQL,里面的日期时间格式总是显示不正确,如:里面的sysdate,无论如何to_char to_date都没有效果。
P_insertsql := 'insert into '||P_dbusername||'.COM_JH(ID, KSLBBH, KSLBMC, ZSBH, ZSMC, YSBH, YSXM, HZBH, HZXM, JH_STATE,ORGCODE,CREATE_DATE)
values ('''|| i.REGID ||''', '''|| i.DEPTCODE ||''', '''|| i.DEPTNAME ||''', '''|| P_dutycode||''', '''||P_dutyname||''', '''|| i.DOCCODE||''',
'''|| i.DOCNAME||''', '''|| i.SERIALNO||''', '''|| i.PATIENTNAME||''','''||P_state||''','''||i.ORGCODE||''','''||SYSDATE||''')';
EXECUTE IMMEDIATE P_insertsql;
解决的方法是:alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 完美解决!