sql >> Databasteknik >  >> RDS >> Oracle

Får konstigt problem med TO_NUMBER-funktionen i Oracle

Detta är inte bra praxis. Numeriska data ska sparas i NUMBER kolumner. Anledningen är enkel:om vi inte tillämpar en stark datatyp kan vi hitta oss själva med icke-numeriska data i vår varchar2-kolumn. Om det skulle hända så ett filter som detta

where to_number(field1) = 23 

skulle misslyckas med ORA-01722: invalid number .

Jag kan inte säkert säga att detta är vad som händer i ditt scenario, eftersom jag inte förstår varför uppenbarligen obetydliga ändringar i ID-filtren har förändrat frågans framgång. Det skulle vara lärorikt att se exekveringsplanerna för de olika versionerna av frågorna. Men jag tror att det är mer sannolikt att det är ett problem med din data än en bugg i SGA.



  1. Hur man subtraherar aktuellt datum och tid från datum och tid i databasen - PHP

  2. formatera mysql-data för utmatning till en tabell

  3. Hitta anslutningssträng för att ansluta till MySQL Server 5.1.50 med OleDbConnection

  4. MySql LEFT JOIN med COUNT