Verwenden Sie den Schwimmer oder echt Datentypen nur wenn die durch decimal bereitgestellte Genauigkeit (bis zu 38 Ziffern) ist unzureichend
-
Ungefähre numerische Datentypen (siehe Tabelle 3.3) speichern nicht die genauen Werte, die für viele angegeben sind Zahlen; sie speichern extrem dicht Annäherungswert. (Technet)
-
Vermeiden Sie die Verwendung von Float- oder Real-Spalten in Suchbedingungen für WHERE-Klauseln, insbesondere die Operatoren =und <>. Am besten begrenzen Float- und Real-Spalten auf>- oder <-Vergleiche. (Technet)
Daher ist die Wahl von Decimal als Datentyp im Allgemeinen die beste Wahl, wenn
- Deine Nummer passt hinein. Dezimalgenauigkeit ist 10E38[~ 38 Ziffern]
- kleinerer Speicherplatz (und vielleicht Rechengeschwindigkeit) von Float ist für Sie nicht wichtig
- Exaktes numerisches Verhalten ist erforderlich, z. B. in Finanzanwendungen, bei Rundungsoperationen oder bei Gleichheitsprüfungen. (Technet)
- Genau Numerische Datentypen dezimal und numerisch – MSDN
- numerisch =dezimal (5 bis 17 Bytes)
- wird Decimal in .NET zugeordnet
- Beide haben (18, 0) als Standardparameter (Präzision, Skalierung) im SQL-Server
- scale =maximale Anzahl von Dezimalstellen, die rechts vom Dezimalpunkt gespeichert werden können.
- money(8 Byte) und smallmoney(4 Byte) sind ebenfalls exakte Datentypen und werden in .NET auf Decimal abgebildet und haben 4 Dezimalstellen (MSDN)
- Ungefähr Numerischer Datentyp Float und Real – MSDN
- Real (4 Byte)
- wird Single in .NET zugeordnet
- Das ISO-Synonym für real ist float(24)
- Float (8 Byte)
- wird Double in .NET zugeordnet
- Alles genau Numerische Typen erzeugen immer das gleiche Ergebnis, unabhängig davon, welche Art von Prozessorarchitektur verwendet wird oder wie groß die Zahlen sind
- Der an den Float-Datentyp gelieferte Parameter definiert die Anzahl der Bits, die verwendet werden, um die Mantisse der Gleitkommazahl zu speichern .
- Ungefährer numerischer Datentyp benötigt normalerweise weniger Speicherplatz und hat eine höhere Geschwindigkeit (bis zu 20x) und Sie sollten auch berücksichtigen, wann sie in .NET konvertiert wurden
- Was ist der Unterschied zwischen Decimal, Float und Double in C#
- Dezimal vs. doppelte Geschwindigkeit
- SQL Server – .NET-Datentypzuordnungen (von MSDN)
Hauptquelle :MCTS-Trainingskit zum Selbststudium (Prüfung 70-433):Microsoft® SQL Server® 2008-Datenbankentwicklung – Kapitel 3 – Tabellen, Datentypen und deklarative Datenintegrität Lektion 1 – Auswählen von Datentypen (Richtlinien) – Seite 93