oracle 数据库字段为number(8)类型与to_number后的数字无法比较 5
declarenextWorkDaynumber;end_timeT_LEADERTIME.END_TIME%TYPE;beginselectt.end_timeINTO...
declare nextWorkDay number;
end_time T_LEADERTIME.END_TIME%TYPE;
begin
select t.end_time INTO end_time from T_LEADERTIME t where t.GUID='12312311';
dbms_output.put_line(TO_NUMBER(To_char(end_time,'YYYYMMDD')));
select YMDU02 into nextWorkDay from (SELECT YMDU02 FROM C0200 T WHERE YMDU02 > TO_NUMBER(To_char(end_time,'YYYYMMDD')) AND DPTC02 = '01' and HTYC02=0 order by t.ymdu02 asc) where rownum=1;
dbms_output.put_line(nextWorkDay);
end;
打印TO_NUMBER(To_char(end_time,'YYYYMMDD') 正确,但是执行下面的select语句时就报错了,无效数字,为什么呢? 比较的字段是number(8)类型的。
如果把end_time 改为to_date('20130303','yyyymmdd')就可以执行select,各位大哥姐姐们 请问这是什么个情况呢? 展开
end_time T_LEADERTIME.END_TIME%TYPE;
begin
select t.end_time INTO end_time from T_LEADERTIME t where t.GUID='12312311';
dbms_output.put_line(TO_NUMBER(To_char(end_time,'YYYYMMDD')));
select YMDU02 into nextWorkDay from (SELECT YMDU02 FROM C0200 T WHERE YMDU02 > TO_NUMBER(To_char(end_time,'YYYYMMDD')) AND DPTC02 = '01' and HTYC02=0 order by t.ymdu02 asc) where rownum=1;
dbms_output.put_line(nextWorkDay);
end;
打印TO_NUMBER(To_char(end_time,'YYYYMMDD') 正确,但是执行下面的select语句时就报错了,无效数字,为什么呢? 比较的字段是number(8)类型的。
如果把end_time 改为to_date('20130303','yyyymmdd')就可以执行select,各位大哥姐姐们 请问这是什么个情况呢? 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询