不好意思,前段时间有事情去了。 问题是解决了。用了投机取巧的方法。 我从我们ERP系统里面找一个日期是那种非法的值 然后Update是可以更新文这个值得。而且和我们的ERP系统一致 语句是 UPdate baan.ttdpur030310 set t$tdat=(select t$stdt from baan.ttiitm001310 where t$item='3003-0000003') where baan.ttdpur030310.t$item='3003-0000001' and t$suno='010001' 在这里 select t$stdt from baan.ttiitm001310 where t$item='3003-0000003' 是唯一的也是非法的一个日期值。 这样UPDATE oracle是可以通过的。 但是insert baan.ttdpur030310(t$tdat) values (select t$stdt from baan.ttiitm001310 where t$item='3003-0000003')就报错了。 我想的既然UPDATE可以通过 Insert肯定也是可以的。只是没有找到一个有效的方法而已。谢谢大家 我穷没多少分。每人分一点表示一下吧。
你to_date('0000/00/00','yyyy/mm/dd')试一下看出错不
发图片的意思是要让大家明白,这个0000/00/00的日期并不为空,而是有值得。
从dump看的出来,这个日期不是合法的,而是一个非法的日期。select 很容易。但是要insert 一般的方法oracle绝对给报错。
但是肯定是有办法insert进去的。因为我们公司的ERP就可以insert一个这样的。
图片上查询出来的数据就是我们公司ERP系统insert进去的。
--------------------
0000-00-00
问题是解决了。用了投机取巧的方法。
我从我们ERP系统里面找一个日期是那种非法的值
然后Update是可以更新文这个值得。而且和我们的ERP系统一致
语句是 UPdate baan.ttdpur030310 set t$tdat=(select t$stdt from baan.ttiitm001310 where t$item='3003-0000003') where
baan.ttdpur030310.t$item='3003-0000001' and t$suno='010001'
在这里 select t$stdt from baan.ttiitm001310 where t$item='3003-0000003' 是唯一的也是非法的一个日期值。
这样UPDATE oracle是可以通过的。
但是insert baan.ttdpur030310(t$tdat) values (select t$stdt from baan.ttiitm001310 where t$item='3003-0000003')就报错了。
我想的既然UPDATE可以通过 Insert肯定也是可以的。只是没有找到一个有效的方法而已。谢谢大家
我穷没多少分。每人分一点表示一下吧。