在做一个组合分区动态sql创建的测试。遇到的问题,都百度不到什么,我就写下来了,方便后人。 Oracle版本11G
场景:在存储过程中,获取到的传值日期,或者sysdate都是 11-1月 18 这种dd-mm yy格式的数据,但是如果用这种格式去创建分区就会报错。
最终解决方法:在存储过程之前加上一句:
V_SQL := 'alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''';--改变会话的NLS_DATE_FORMAT
EXECUTE IMMEDIATE V_SQL;--执行动态sql
---
--这里再放你的代码,然后获取到的日期格式都是这种yyyy-mm-dd hh24:mi:ss 的了,可以修改NLS_DATE_FORMAT的格式,来对
获取到的日期格式做转换。