Ich will die Nummer so zu formatieren:Format Anzahl n SQL
Von 65803.12345
-65803.12
.
Von 65803.98500
bis 65803.98
.
Ich will die Nummer so zu formatieren:Format Anzahl n SQL
Von 65803.12345
-65803.12
.
Von 65803.98500
bis 65803.98
.
Wenn Sie nur zwei Nachkommastellen ohne Decke oder Boden erhalten möchten.
DECLARE @i AS float
DECLARE @TmpInt AS INT
DECLARE @TmpDec AS FLOAT
SELECT @i = 65803.12345
SELECT @TmpInt = (SELECT CAST(@i AS INT))
SELECT @TmpDec = @i - @TmpInt
SELECT CAST(((CAST(@TmpInt AS VARCHAR(50)) + SUBSTRING((LEFT((CAST(@TmpDec AS VARCHAR(50))), 4)), 2, 3))) AS DECIMAL(10, 2))
-- Output : 65803.12
SELECT @i = 65803.98500
SELECT @TmpInt = (SELECT CAST(@i AS INT))
SELECT @TmpDec = @i - @TmpInt
SELECT CAST(((CAST(@TmpInt AS VARCHAR(50)) + SUBSTRING((LEFT((CAST(@TmpDec AS VARCHAR(50))), 4)), 2, 3))) AS DECIMAL(10, 2))
-- Output : 65803.98
SELECT @i = 65803.12666
SELECT @TmpInt = (SELECT CAST(@i AS INT))
SELECT @TmpDec = @i - @TmpInt
SELECT CAST(((CAST(@TmpInt AS VARCHAR(50)) + SUBSTRING((LEFT((CAST(@TmpDec AS VARCHAR(50))), 4)), 2, 3))) AS DECIMAL(10, 2))
-- Output : 65803.12
können Sie verwenden ROUND(,)
:
ROUND(column, decimals)
Weitere Informationen: W3Schools detailed information
Versuchen Sie, diese
declare @s decimal(12,5)
set @s = 65803.98500
select cast(@[email protected]%1+cast(@s%1*100 as int)*0.01 as decimal(12,2))
Ergebnis ist
65803.98
Verwenden Sie 'CAST (Num AS DECIMAL (18,2))' –
Möchten Sie runden oder abschneiden? Fügen Sie Ihren Beispieldaten 65803.12666 hinzu! – jarlh
Denken Sie auch daran, dies stattdessen in der Frontend-Anwendung zu tun. – Thilo