Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Strange behaviour of Ora 9.2
Thomas Fricker wrote:
> Oops, opposite around: Here once again.
>
> I've got two instances of oracle 9.2.0.1, one on W2K and one on NT4.
> The data were imported from the same dump in the same way.
> A Table X has columns Y and Z, both of Varchar2(240).
> If I do the following:
>
> SELECT * FROM X WHERE Y = 1989 and Z = 'J'
> on NT4 I get:ORA-01722: invalid number
> and on W2K I get the rows.!!!!!
>
> SELECT * FROM X WHERE Y = 1989
> I get: ORA-01722: invalid number on both instances.
>
> SELECT * FROM X WHERE Z = is not null and 1989 between Y and Z
> I get the rows on both Instances.!!!!!
>
> Why do I get rows on NT4 in the first example?
> Ther first example was also working on previous Oracle Versions (8.1.6,
> 8.1.7) on NT4.
>
> I know, I have to use TO_CHAR() in the future, but now I have to rewrite 100
> procedures.
I this point I have little doubt you will repost this again with another Oops. But either way ... I would have to see the table definition to answer your question.
Likely it is the result of your using implicit conversion and Oracle has pointedly stated that it is not guaranteed to work ... ever.
Daniel Morgan Received on Tue Sep 24 2002 - 11:16:19 CDT
![]() |
![]() |