大家好: 我写了一个存储过程,有两个输入参数,分别是时间:小时和日期:年月日,存储过程中将这两个参数连接起来,
比如输入的参数是小时:13,日期20071115,连接后,得到两个日期分别为
20071115 13:00:00 和
20071115 13:59:59 但是将他们用to_date函数转换成date类型插入数据库的时候,数据库相应字段中的两个日期都成了却变成了
20071115 0:00:00,
不知怎么回事??? 存储过程代码如下
CREATE OR REPLACE PROCEDURE STA(
hour in varchar2,
riqi in varchar2
)IS begintime varchar2(17);
endtime varchar2(17);
sqlstr varchar2(4000); BEGIN begintime := statdate ¦¦ ' ' ¦¦ stathour ¦¦ ':00:00 ';
endtime := statdate ¦¦ ' ' ¦¦ stathour ¦¦ ':59:59 '; sqlstr := ' insert into AAA(OPE_DATE) values(' ''¦¦to_date(begintime, 'yyyymmdd hh24:mi:ss ')¦¦'' ') '; execute immediate sqlstr; END STA; 但是,我用其他方法验证,字符串变量begintime的值的确是20071115 13:00:00,
为什么用to_date(begintime, 'yyyymmdd hh24:mi:ss ';)转换后就变成20071115 0:00:00了呢??? 小弟在线等!!!!谢谢!!!
比如输入的参数是小时:13,日期20071115,连接后,得到两个日期分别为
20071115 13:00:00 和
20071115 13:59:59 但是将他们用to_date函数转换成date类型插入数据库的时候,数据库相应字段中的两个日期都成了却变成了
20071115 0:00:00,
不知怎么回事??? 存储过程代码如下
CREATE OR REPLACE PROCEDURE STA(
hour in varchar2,
riqi in varchar2
)IS begintime varchar2(17);
endtime varchar2(17);
sqlstr varchar2(4000); BEGIN begintime := statdate ¦¦ ' ' ¦¦ stathour ¦¦ ':00:00 ';
endtime := statdate ¦¦ ' ' ¦¦ stathour ¦¦ ':59:59 '; sqlstr := ' insert into AAA(OPE_DATE) values(' ''¦¦to_date(begintime, 'yyyymmdd hh24:mi:ss ')¦¦'' ') '; execute immediate sqlstr; END STA; 但是,我用其他方法验证,字符串变量begintime的值的确是20071115 13:00:00,
为什么用to_date(begintime, 'yyyymmdd hh24:mi:ss ';)转换后就变成20071115 0:00:00了呢??? 小弟在线等!!!!谢谢!!!
如 c:='cc'; p:='tt'; cp=c||p