sql >> Database teknologi >  >> RDS >> Oracle

Får mærkeligt problem med TO_NUMBER-funktionen i Oracle

Dette er ikke god praksis. Numeriske data skal opbevares i NUMBER kolonner. Årsagen er enkel:Hvis vi ikke håndhæver en stærk datatype, kan vi finde os selv med ikke-numeriske data i vores varchar2-kolonne. Hvis det skulle ske, så et filter som dette

where to_number(field1) = 23 

ville mislykkes med ORA-01722: invalid number .

Jeg kan ikke med sikkerhed sige, at det er det, der sker i dit scenarie, fordi jeg ikke forstår, hvorfor tilsyneladende ubetydelige ændringer i ID-filtrene har ændret forespørgslens succes. Det ville være lærerigt at se udførelsesplanerne for de forskellige versioner af forespørgslerne. Men jeg tror, ​​det er mere sandsynligt, at det er et problem med dine data end en fejl i SGA.



  1. Er der en [ligetil] måde at ordne resultater *først*, *derefter* gruppere efter en anden kolonne med SQL?

  2. Søjlediagram med hensyn til database

  3. Rediger en SQL Server Agent Schedule (T-SQL)

  4. Fejl ved installation af mysqlclient til python på Ubuntu 18.04