Nachkommastellen zurückgeben

DECLARE @zahl DECIMAL(18,10)
SET @zahl = 3.5677
SELECT @zahl - CAST(@zahl AS INT)
                        
----------------------- 
.5677000000

(1 row(s) affected)

oder als UDF

CREATE FUNCTION dbo.nachkomma (@zahl DECIMAL(18,10)) 
RETURNS DECIMAL(18,10)
 AS
  BEGIN
   RETURN (@zahl-CAST(@zahl AS INT))
  END
 GO

SELECT dbo.nachkomma(3.5677)
DROP FUNCTION dbo.nachkomma
                        
----------------------- 
.5677000000

(1 row(s) affected)

Bin gerade auf

Bin gerade auf Stackoverflow.com über diese einfache und elegante Lösung gestolpert:
http://stackoverflow.com/questions/1860542/what-would-be-a-reliable-way-...