Obsah
Jazyk SQL automaticky zaokrouhlí čísla, pokud sloupec tabulky, do kterého uložíte, umožňuje pouze určitou přesnost desetinných míst. Můžete pracovat s problémy s přesností pomocí funkce SQL "round". Tato funkce umožňuje řídit, jak SQL ukládá číselné hodnoty do databázových tabulek.
Naučte se jak zaokrouhlit čísla v SQL (Hemera Technologies / AbleStock.com / Getty Images)
Problém
Problém se zaokrouhlením SQL si všimnete při pohledu na data v tabulkách. Zobrazená číselná hodnota není stejná jako hodnota, kterou jste uložili pomocí příkazu "insert". Datové typy sloupců SQL umožňují nastavit přesnost desetinné tečky. Pokud chcete mít pouze dvě desetinná místa a pokuste se uložit číslo se třemi, zaokrouhluje hodnotu SQL.
Struktura tabulky
Datový typ sloupce můžete změnit pomocí editoru tabulky SQL. Tabulky můžete upravit v aplikaci Microsoft SQL Server Management Studio, která je dodávána se serverem SQL Server. Klikněte pravým tlačítkem myši na tabulku a zvolte "Změnit". Vyberte přesnost v seznamu datových typů sloupců, abyste zvýšili počet desetinných míst a opravili problém zaokrouhlení.
Kulatá funkce
Pokud nechcete změnit typ dat v tabulce, použijte funkci zaokrouhlení ke změně chování číselného úložiště. Zaokrouhlit nahoru, dolů nebo nechat funkci provádět standardní zaokrouhlování desetinných hodnot. Například následující kód zaokrouhluje nahoru:
kolo (sloupec, 2, -1)
Tato funkce zaokrouhluje na dvě desetinná místa vždy vzhůru. Odstranění parametru "-1" způsobí, že SQL provede standardní zaokrouhlení, tj. Nahoru, pokud je hodnota větší nebo rovna "5" a dolů, pokud je hodnota nižší.
Úvahy
Když změníte chování zaokrouhlování v SQL, musíte také zkontrolovat libovolný sloupec, který má součet zaokrouhlených čísel. Tento sloupec bude mít nesprávnou hodnotu, takže budete muset přepočítat součet a opravit případné chyby.