Tipps und Tricks #2 (SQL)
Auf dem SQL – Server eine Zahl in der Form 123.456,78 ausgeben.
Normalerweise wird bei einer Anwendungsentwicklung auf die Schichtenteilung geachtet, da wird der Datenbankserver nur zur Datenhaltung genutzt. Manchmal braucht man aber mal eben ein paar Daten direkt aus dem Server. Was liegt da näher, als diese mal eben per SQL abzugreifen und per E-Mail zu verschicken. Schade nur, dass gerade Fließkommazahlen so schlecht zu lesen sind. Abhilfe schafft da eine kleine SQL Funktion, welche sich um die Aufbereitung mit Tausendertrennzeichen und zwei festen Nachkommastellen kümmert. Wahrscheinlich geht das auch viel einfacher, ab so hat es wenigstens Spaß gemacht
Hier der SQL Code:
create function Format_Number
(@Number float)
returns varchar(20)
as
begin
declare @Front int
declare @Back int
declare @S varchar(20)
declare @T varchar(20)
declare @i int
set @Front = round(@Number, 0)
set @Back = round((@Number – round(@Number, 0)), 2) * 100
if @Back<0 set @Front = @Front -1
if @Back<0 set @Back = 100 + @Back
set @T = convert(varchar(20), @Front, 0)
set @i = len(@T)
while (@i > 0)
begin
if @i % 3 = 0 set @S = @S + ‘.’
set @S = isnull(@S, ”) + left(right(@T, isnull(@i, 1)), 1)
set @i = @i – 1
end
set @S = right(space(20) + @S + ‘,’ + right(’00′ + convert(varchar(2), @Back), 2), 20)
RETURN @S
end