sql >> Database >  >> RDS >> Oracle

Krijg een raar probleem met de TO_NUMBER-functie in Oracle

Dit is geen goede gewoonte. Numerieke gegevens moeten in NUMBER kolommen worden bewaard. De reden is simpel:als we geen sterk gegevenstype afdwingen, kunnen we ons bevinden met niet-numerieke gegevens in onze varchar2-kolom. Als dat zou gebeuren, dan zou zo'n filter

where to_number(field1) = 23 

zou mislukken met ORA-01722: invalid number .

Ik kan niet met zekerheid zeggen dat dit is wat er in uw scenario gebeurt, omdat ik niet begrijp waarom schijnbaar onbeduidende wijzigingen in de filters van ID het succes van de zoekopdracht hebben veranderd. Het zou leerzaam zijn om de uitvoeringsplannen voor de verschillende versies van de query's te zien. Maar ik denk dat het eerder een probleem met je gegevens is dan een bug in de SGA.



  1. ANSI SQL-standaard voor het trefwoord ORACLE MINUS

  2. Power BI-service - Kan een postgresql-bron niet vernieuwen die geen versleutelde verbindingen ondersteunt

  3. Prestatie-impact van weergave op geaggregeerde functie versus beperking van resultaatset

  4. Parallelle transacties in mysql