创建一个很存储过程,出现下面很奇怪的结果create or replace procedure test(prerq in out varchar2)
as
v_preyear varchar2(20);
v_premonth varchar2(20);
begin
v_preyear:=substr(prerq,1,4);
v_premonth:=substr(prerq,6,2);
dbms_output.put_line(prerq);
dbms_output.put_line(v_preyear);
dbms_output.put_line(v_premonth);
end;
/
下面测试:declare
prerq varchar2(20);beginprerq:=2010-10-11;
test(prerq);
end;
/
我预计结果会是 :
2009-10-11;
2009;
10;
可结果是:1989 ,
1989 。很奇怪,,来人看看怎么会这样了。。
解决方案 »
- Oracle序列 和 SQL SERVER 自增列的问题
- oracle sql developer 如何设置sql查询结果显示所有行
- 端口映射后访问tomcat-oracle
- 求救:关于ref cursor 参数,在线等待...............................
- oracle在aix系统中后缀为trc是什么文件??
- 想几本好书学学
- 问题:如何全部显示ORACLE的环境变量
- oracle 9i 在2000服务器上装不了,是不是要补订?
- oracle8i的安装
- 谁有远程安装ORACLE817的经验,在P4机器上的?
- spool导出表数据时,如何去掉执行的sql语句和Spool off
- distinct和order by
否则你的语句相当于prerq:=to_char(2010-10-11)=to_char(1989)='1989';