Hoe schrijf je een nummer met twee decimalen voor SQL Server?
Antwoord 1, Autoriteit 100%
Probeer dit
SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
zoals
SELECT CONVERT(DECIMAL(10,2),2.999999)
resulteert in uitvoer 3.00
Antwoord 2, Autoriteit 32%
Gebruik Str()
-functie. Het duurt drie argumenten (het nummer, de getalinale tekens om weer te geven en het aantal decimale plaatsen om
weer te geven
Select Str(12345.6789, 12, 3)
Displays: ‘12345.679’ (3 spaties, 5 cijfers 12345, een decimaal punt en drie decimale cijfers (679). – Het rondet als het moet afknotten, (tenzij het integer-onderdeel te groot is voor de totale grootte, In welk geval worden sterretjes weergegeven.)
Voor een totaal van 12 tekens, met 3 rechts van decimalen.
Antwoord 3, Autoriteit 16%
Over het algemeen kunt u de precisie van een getal in SQL definiëren door deze te definiëren met parameters. Voor de meeste gevallen is dit NUMERIC(10,2)
of Decimal(10,2)
– definieert een kolom als een getal met 10 totale cijfers met een precisie van 2 (decimale plaatsen).
Bewerkt voor duidelijkheid
Antwoord 4, Autoriteit 9%
Dit is hoe de kinderen het vandaag doen:
DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')
123.46
Antwoord 5, Autoriteit 8%
Dit werkt voor mij en bevat altijd tweecijferige breuken
23,1 ==> 23.10
25.569 ==> 25.56
1 ==> 1,00
Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2
Antwoord 6, autoriteit 7%
Als je maar twee decimalen nodig hebt, is de eenvoudigste manier..
SELECT CAST(12 AS DECIMAL(16,2))
OF
SELECT CAST('12' AS DECIMAL(16,2))
Uitvoer
12.00
Antwoord 7, autoriteit 3%
Als je het goed vindt om het getal af te rondenin plaats van het af te kappen, dan is het gewoon:
ROUND(column_name,decimals)
Antwoord 8
Probeer dit:
declare @MyFloatVal float;
set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))
select @MyFloatVal
Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount
Antwoord 9
Vermenigvuldig de waarde die u wilt invoegen (bijv. 2,99) met 100
Voer vervolgens de deling door 100 van het resultaat in en voeg .01 toe aan het einde:
299.01/100
Antwoord 10
Hierdoor zijn in totaal 10 cijfers mogelijk met 2 waarden achter de komma. Het betekent dat het de waarde vóór decimaal kan aanpassen tot 8 cijfers en 2 achter decimaal.
Voer de waarde in de volgende zoekopdracht in om te valideren.
DECLARE vtest number(10,2);
BEGIN
SELECT 10.008 INTO vtest FROM dual;
dbms_output.put_line(vtest);
END;