sql >> Database >  >> RDS >> Sqlserver

Wat is het verschil tussen zwevend en numeriek/decimaal in SQL Server - SQL Server / T-SQL-zelfstudie, deel 33

Zwevend en echt zijn benaderende gegevenstypen. De gegevenstypen Float en Real slaan voor veel getallen geen exacte waarden op. De waarde kan extreem gesloten zijn.

Numeriek/decimaal zijn gegevenstypen met vaste precisie. Het slaat de waarden op met exacte precisie en schaalt wat u hebt gedefinieerd.

Als u gegevens wilt opslaan waar kleine verschillen er niet toe doen, kunt u Float of Real gebruiken. Maar als u exacte gegevens nodig heeft zoals voor financiële toepassing. U moet het gegevenstype Numeriek/Decimaal of Geld gebruiken om exacte gegevens op te slaan, aangezien kleine verschillen invloed kunnen hebben op berekeningen.

Voorbeeld:


Laten we twee variabelen declareren en dezelfde gegevens opslaan en kijken wat er met de uitvoer gebeurt vanwege het gegevenstype ervan.
DECLARE @DecimalVariable DECIMAL(8, 2)

SET @DecimalVariable = 213429.95

DECLARE @FloatVariable FLOAT(24)

SET @FloatVariable = 213429.95

SELECT @DecimalVariable AS DecimalVariable
    ,@FloatVariable AS FloatVariable
 
 
 
 Verschil tussen zwevend en decimaal/numeriek in SQL Server - T SQL-zelfstudie 
 Zoals we in de bovenstaande momentopname kunnen zien, heeft Decimaal exacte waarden opgeslagen en weergegeven en waar we waarden in float hebben opgeslagen, heeft het de waarden afgerond. 

Aangezien float/reële datatypes benaderende datatypes zijn, vermijd het gebruik ervan in de Where-clausule, speciaal met =of <> operators.
  1. Een database dupliceren met phpMyAdmin

  2. Een MySQL-database importeren en exporteren

  3. Top MySQL Workbench-alternatieven

  4. Toestemming geweigerd bij het importeren van een CSV-bestand vanuit PGAdmin