Posted on 16th April 2009No Responses
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

Comments
Leave a Response
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>