sql >> Database >  >> RDS >> Oracle

Oracle zweeft versus nummer

Oracle's BINARY_FLOAT slaat de gegevens intern op met behulp van IEEE 754 drijvende-kommaweergave, zoals C en vele andere talen doen. Wanneer u ze uit de database ophaalt en ze doorgaans opslaat in een IEEE 754-gegevenstype in de hosttaal, kan deze de waarde kopiëren zonder deze te transformeren.

Terwijl Oracle's FLOAT datatype is een synoniem voor het ANSI SQL NUMERIC datatype, genaamd NUMBER in Oracle. Dit is een exacte numerieke, een geschaald decimaal gegevenstype dat niet het afrondingsgedrag van IEEE 754 heeft. Maar als u deze waarden uit de database haalt en ze in een C- of Java-float plaatst, kunt u tijdens deze stap precisie verliezen.



  1. Waarom levert een geparametriseerde query een veel langzamer queryplan op dan een niet-geparametriseerde query?

  2. PostgreSQL-procesnamen op Solaris

  3. ExecuteBatch-methode retourneert array met waarde -2 in java

  4. 4 manieren om te controleren of een tabel bestaat voordat u deze in SQL Server (T-SQL) laat vallen