sql >> Databáze >  >> RDS >> Sqlserver

Rozdíl mezi numerickou, plovoucí a desítkovou v SQL Server

použijte float nebo skutečný datové typy pouze pokud přesnost poskytovaná desítkovou (až 38 číslic) je nedostatečné

  • Přibližné číselné typy dat (viz tabulka 3.3) neukládají přesné hodnoty zadané pro mnoho čísla; ukládají velmi blízko přiblížení hodnoty.(Technet)

  • Vyhněte se použití plovoucích nebo skutečných sloupců v podmínkách vyhledávání klauzule WHERE, zejména operátory =a <>. Nejlepší je omezit plovoucí a reálné sloupce na> nebo

obecně je tedy nejlepší volbou Decimal jako typ dat, pokud

  • vejde se tam vaše číslo. Desetinná přesnost je 10E38[~ 38 číslic]
  • menší úložný prostor (a možná rychlost výpočtu) Float pro vás není důležitý
  • Je vyžadováno přesné numerické chování, například ve finančních aplikacích, v operacích zahrnujících zaokrouhlování nebo při kontrolách rovnosti. (Technet)
  1. Přesné Číselné datové typy desítkové a číselné - MSDN
  • numerické =desítkové (5 až 17 bajtů)
    • bude mapovat na desítkové v .NET
    • oba mají (18, 0) jako výchozí parametry (přesnost, měřítko) na serveru SQL
    • měřítko =maximální počet desetinných číslic, které lze uložit napravo od desetinné čárky.
    • money (8 bajtů) a smallmoney (4 bajty) jsou také přesný datový typ a budou mapovány na desítkové v .NET a mají 4 desetinná místa (MSDN)
  1. Přibližné Numerický datový typ float a real - MSDN
  • skutečné (4 bajty)
    • bude mapovat na Single v .NET
    • Synonymum ISO pro real je float(24)
  • float (8 bajtů)
    • bude mapovat na Double v .NET

  • Vše přesně číselné typy vždy poskytují stejný výsledek, bez ohledu na to, jaký druh architektury procesoru se používá nebo velikost čísel
  • Parametr dodávaný datovému typu float definuje počet bitů, které se používají k uložení mantisy čísla s plovoucí desetinnou čárkou .
  • Přibližný číselný datový typ obvykle využívá méně úložiště a má vyšší rychlost (až 20x) a měli byste také zvážit, kdy byly převedeny do .NET
  • Jaký je rozdíl mezi desítkovou, plovoucí a dvojitou v C#
  • Desetinná vs. Dvojitá rychlost
  • SQL Server – mapování datových typů .NET (z MSDN)

hlavní zdroj :MCTS Self-Paced Training Kit (zkouška 70-433):Vývoj databáze Microsoft® SQL Server® 2008 – Kapitola 3 – Tabulky, datové typy a deklarativní integrita dat Lekce 1 – Výběr datových typů (pokyny) – Strana 93



  1. Jak vytvořit offline aplikaci pro internacionalizaci:Vytvořte strukturu projektu

  2. Zdůvodnění nového Macu Pro

  3. Laravel:PDOException:nelze najít ovladač

  4. Vyhněte se zablokování PostgreSQL při provádění operací hromadné aktualizace a mazání