in reply to Re: Re: DBI: when 1 != '1'
in thread DBI: when 1 != '1'
Yes, it look's like the string parameter gets converted to a number. Told you it had changed. ;-)
Which means that
SQL> select count(*) from rdf_test where '1.0' = v1; COUNT(*) ---------- 1 SQL> select count(*) from rdf_test where 'a' = v1; select count(*) from rdf_test where 'a' = v1 * ERROR at line 1: ORA-01722: invalid number SQL> select count(*) from rdf_test where v1 = 'a'; select count(*) from rdf_test where v1 = 'a' * ERROR at line 1: ORA-01722: invalid number
Obviously the fix is to convert the number into a string (since the exception can't be generated then). Thus,
Great. It's working fine now. But...1* select count(*) from rdf_test where 'a' = TO_CHAR(v1) SQL> / COUNT(*) ---------- 0
which leaves it still being a headache.SQL> select count(*) from rdf_test where '1.0' = TO_CHAR(v1); COUNT(*) ---------- 0
--
Tommy
Too stupid to live.
Too stubborn to die.
|
|---|