sql >> Databáze >  >> RDS >> Oracle

Dochází k podivnému problému s funkcí TO_NUMBER v Oracle

To není dobrá praxe. Číselné údaje by měly být uchovávány v NUMBER sloupcích. Důvod je jednoduchý:pokud neprosadíme silný datový typ, můžeme se ocitnout s nečíselnými daty v našem sloupci varchar2. Pokud by se to stalo, pak filtr jako tento

where to_number(field1) = 23 

selže s ORA-01722: invalid number .

Nemohu s jistotou říci, že se to děje ve vašem scénáři, protože nerozumím tomu, proč zřejmě nevýznamné změny ve filtrech ID změnily úspěšnost dotazu. Bylo by poučné vidět prováděcí plány pro různé verze dotazů. Ale myslím si, že to bude spíše problém s vašimi daty než chyba v SGA.



  1. SQL Server:jak vybrat pevný počet řádků (vyberte každou x-tou hodnotu)

  2. Přístup odepřen, když se rails připojí k Mysql

  3. Jak nainstalovat a zabezpečit MariaDB na CentOS 8

  4. Je možné v mySQL 5 zrušit všechna omezení cizího klíče na tabulku najednou?