SQL server üzerindr sayısal değerleri formatlamak üzere yazmış olduğum user-defined foksiyondur.
CREATE function NumberFormat (@Number float)
returns nvarchar(255)
AS
begin
DECLARE @Result nvarchar(255)
DECLARE @length int
DECLARE @i int
DECLARE @FirstPart nvarchar(3)
DECLARE @RemainingPart nvarchar(255)
DECLARE @FirstRemainingPart nvarchar(255)
DECLARE @ÜçlüSayı int
DECLARE @Sayi1 bigint
SET @Sayi1=convert(bigint,@Sayi)
SET @ÜçlüSayı=convert(int, len(@Sayi1)/3)
SET @FirstPart=convert(nvarchar(3),left(convert(nvarchar(255),@Sayi1),len(@Sayi1)-@ÜçlüSayı*3))
SET @FirstRemainingPart=convert(nvarchar(255),right(convert(nvarchar(255),@Sayi1),@ÜçlüSayı*3))
SET @i=1
SET @RemainingPart="
IF len(@Sayi1) % 3!=0
BEGIN
WHILE @i<=@ÜçlüSayı*3
begin
SET @RemainingPart= @RemainingPart+ substring(@FirstRemainingPart,@i,3)+ '.'
SET @i=@i+3
END
SET @Sonuc=@FirstPart+'.'+@RemainingPart
end
ELSE IF len(@Sayi1) % 3=0
begin
WHILE @i<=len(@Sayi1)
begin
SET @RemainingPart=@RemainingPart+substring(convert(nvarchar(255),@Sayi1),@i,3)+ '.'
SET @i=@i+3
END
SET @Result=@RemainingPart
END
RETURN left(@Result,len(@Result)-1)
END