sql >> Database teknologi >  >> RDS >> Sqlserver

Forskellen mellem numerisk, float og decimal i SQL Server

brug float eller rigtig datatyper kun hvis præcisionen angivet af decimal (op til 38 cifre) er utilstrækkelig

  • Tilnærmede numeriske datatyper (se tabel 3.3) gemmer ikke de nøjagtige værdier, der er angivet for mange tal; de gemmer en ekstremt tæt tilnærmelse af værdien.(Technet)

  • Undgå at bruge float eller reelle kolonner i WHERE-sætningssøgebetingelser, især =og <> operatorerne. Det er bedst at begrænse float og reelle kolonner til> eller

så generelt at vælge Decimal som din datatype er det bedste bud, hvis

  • dit nummer kan passe ind. Decimalpræcision er 10E38[~ 38 cifre]
  • mindre lagerplads (og måske beregningshastighed) af Float er ikke vigtigt for dig
  • nøjagtig numerisk adfærd er påkrævet, såsom i finansielle applikationer, i operationer, der involverer afrunding, eller i lighedstjek. (Technet)
  1. Nøjagtig Numeriske datatyper decimal og numerisk - MSDN
  • numerisk =decimal (5 til 17 bytes)
    • tilknytning til decimal i .NET
    • begge har (18, 0) som standard (præcision, skala) parametre i SQL server
    • skala =maksimalt antal decimalcifre, der kan gemmes til højre for decimaltegnet.
    • money(8 byte) og smallmoney(4 byte) er også Exact Data Type og vil tilknyttes decimal i .NET og har 4 decimaler (MSDN)
  1. Omtrentlig Numerisk datatype flydende og ægte - MSDN
  • ægte (4 byte)
    • tilknytning til Single i .NET
    • ISO-synonymet for ægte er float(24)
  • float (8 byte)
    • tilknyttes til Double i .NET

  • Alle præcis numeriske typer giver altid det samme resultat, uanset hvilken slags processorarkitektur der bruges eller størrelsen af ​​tallene
  • Parameteren, der leveres til flydende datatypen, definerer antallet af bits, der bruges til at gemme mantissen af ​​flydende kommanummer .
  • Omtrentlig numerisk datatype bruger normalt mindre lagerplads og har bedre hastighed (op til 20x), og du bør også overveje, hvornår de blev konverteret i .NET
  • Hvad er forskellen mellem Decimal, Float og Double i C#
  • Decimal vs dobbelt hastighed
  • SQL Server - .NET Data Type Mappings (fra MSDN)

hovedkilde :MCTS træningssæt i eget tempo (eksamen 70-433):Microsoft® SQL Server® 2008 Databaseudvikling - Kapitel 3 - Tabeller, datatyper og deklarativ dataintegritet Lektion 1 - Valg af datatyper (retningslinjer) - Side 93



  1. PHP indsætter flere afkrydsningsfelter OG tekstboksarrays i MySQL-databasen

  2. Gruppér efter værdier, der er i rækkefølge

  3. Hvordan Atanh() virker i PostgreSQL

  4. Sådan opretter du en login.sql-fil til SQLcl