Ho trovato questo strano comportamento e mi sto rompendo il cervello con questo ... qualcuno ha qualche idea?Seleziona stringa come numero su Oracle
Oracle 10g: Ho due tabelle diverse, entrambi hanno questa colonna denominata "TESTCOL", come Varchar2 (10), non annullabile.
Se eseguo questa ricerca table1, ottengo i risultati corretti:
select * from table1 where TESTCOL = 1234;
Nota che non sto mettendo in particolare '1234' ... non è un errore di battitura, che è un query generate dinamicamente e cercherò di non cambiarlo (almeno non nel prossimo futuro).
Ma, se esegue la stessa query, il table2, ricevo questo messaggio di errore:
ORA-01722: Invalid number
Entrambe le query vengono eseguite sulla stessa sessione, stesso database.
Mi sono unito a queste due tabelle da quella colonna e il join funziona correttamente, l'unico problema si verifica ogni volta che provo a utilizzare quella condizione.
Qualche idea su cosa potrebbe essere diverso da un tavolo all'altro?
Grazie in anticipo.