använd floaten eller riktigt datatyper endast om precisionen som tillhandahålls av decimal (upp till 38 siffror) är otillräckligt
-
Ungefärliga numeriska datatyper (se tabell 3.3) lagrar inte de exakta värdena som anges för många tal; de lagrar en extremt nära uppskattning av värdet.(Technet)
-
Undvik att använda flytande eller riktiga kolumner i sökvillkoren för WHERE-satser, särskilt operatorerna =och <>. Det är bäst att begränsa flytande och verkliga kolumner till> eller
så att generellt välja Decimal som din datatyp är det bästa alternativet om
- ditt nummer får plats i den. Decimalprecision är 10E38[~ 38 siffror]
- mindre lagringsutrymme (och kanske beräkningshastighet) för Float är inte viktigt för dig
- exakt numeriskt beteende krävs, t.ex. i finansiella tillämpningar, i operationer som involverar avrundning eller i jämställdhetskontroller. (Technet)
- Exakt Numeriska datatyper decimala och numeriska - MSDN
- numerisk =decimal (5 till 17 byte)
- mappar till decimal i .NET
- båda har (18, 0) som standardparametrar (precision, skala) i SQL-servern
- skala =maximalt antal decimalsiffror som kan lagras till höger om decimaltecknet.
- money(8 byte) och smallmoney(4 byte) är också Exact Data Type och kommer att mappas till Decimal In .NET och har 4 decimaler (MSDN)
- Ungefärlig Numerisk datatyp flytande och verklig - MSDN
- riktig (4 byte)
- kommer att mappas till singel i .NET
- ISO-synonymen för verklig är float(24)
- flytande (8 byte)
- kommer att mappas till Double i .NET
- Alla exakta numeriska typer ger alltid samma resultat, oavsett vilken typ av processorarkitektur som används eller storleken på siffrorna
- Parametern som levereras till flytdatatypen definierar antalet bitar som används för att lagra mantissan för flyttalsnumret .
- Ungefärlig numerisk datatyp använder vanligtvis mindre lagringsutrymme och har bättre hastighet (upp till 20x) och du bör också tänka på när de konverterades i .NET
- Vad är skillnaden mellan Decimal, Float och Double i C#
- Decimal vs dubbel hastighet
- SQL-server - .NET-datatypmappningar (från MSDN)
huvudkälla :MCTS träningspaket i egen takt (examen 70-433):Microsoft® SQL Server® 2008 Databasutveckling - Kapitel 3 - Tabeller, datatyper och deklarativ dataintegritet Lektion 1 - Välja datatyper (riktlinjer) - Sida 93