存储过程里动态执行SQL时间格式化问题
2013-05-19 10:24
246 查看
存储过程里执行动态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'; 完美解决!
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'; 完美解决!
相关文章推荐
- 动态执行Sql语句与临时表的问题(对象名无效)
- .NET执行SQL插入时间的问题
- 解决存储过程中SQL字符串语句执行引入参数的问题
- 存储过程中执行动态Sql语句
- 在论坛中出现的比较难的sql问题:42(动态行转列 考勤时间动态列)
- SQL 动态执行语句中碰到的问题
- pl/sql sql 执行存储过程,带时间参数例子。
- C# SQL语句执行时间过长在操作完成之前超时时间已过或服务器未响应问题的解决
- 存储过程中动态执行Oracle的Sql
- SqlServer 动态SQL(存储过程)中Like 传入参数无正确返回值的问题
- pl/sql sql 执行存储过程,带时间参数例子。
- sql计算时间差执行存储过程
- MySQL之视图、存储过程、触发器、函数、事务、动态执行SQL
- SQL----带输入、输出参数的动态SQL的执行问题
- MyBatis执行动态sql及存储过程
- MySQL存储过程实现动态执行SQL
- 写MySQL存储过程实现动态执行SQL
- oracle的SQL语句中同一函数执行的时间问题
- 写MySQL存储过程实现动态执行SQL