Announcement

Collapse
No announcement yet.

Monta mit führender Null

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Monta mit führender Null

    Hallo!

    In einem SQL View (SQL Server 2008 R2 Express) möchte ich, dass von einem Feld "Geburtsdatum" in einem weiteren Feld der Monat als Zahl, gefolgt von einem Strich und dann die Monatsbezeichnung ist, also z.B. "04 - April" für den Monat April.

    Mit

    Code:
    CAST(MONTH(Geburtsdatum) AS char(2)) + '-' + CAST(DATENAME(mm, Geburtsdatum) AS varchar(15)) AS Monatsbezeichnung
    Das Ergebnis lautet hierbei "4 - April" statt "04 - April".

    Wie gekomme ich die führende Null noch dazu?

    Vielen Dank

  • #2
    Lege dir eine Function an die entsprechend die führende 0 mit ausgibt und dann ersetze den Aufruf von Month durch diese Funktion.

    [Highlight=SQL]CREATE FUNCTION dbo.MonthWithLeadingZeroAsVarchar(@date datetime)
    RETURNS varchar(2) AS
    BEGIN
    return RIGHT('00' + CONVERT(varchar(2), MONTH(@date)), 2)
    END[/Highlight]

    Comment


    • #3
      Vielen Dank für die schnelle Antwort.

      Allerdings muss ich zugeben, dass ich etwas überfordert bin.

      Bisher habe ich lediglich Tabellen und Views angelegt.

      Ich finde im SQL Server Management Studio Express in meiner Datenbank den Punkt "Programmierbarkeit " und darunter "Funktionen". Darunter wiederum gibt es Tabellenwertfunktionen, Skalarwertfunktionen, Aggregatfunktionen und Systemfunktionen.

      Was für eine Funktion muss es denn sein?

      Und wie rufe ich diese in meiner View auf?

      Comment


      • #4
        Das gezeigte ist eine Skalarwertfunktionen. Macht aber keinen Unterschied was für ein Funktionstyp es ist.

        Einfach in einem SQL Editor deiner Wahl ausführen und dann wie jeder andere eingebaute Funktion (wie z.B. Month) ausführen. Du mußt nur höchstwahrscheinlich den Owner Namen mitgeben also z.B.


        [Highlight=SQL]Select dbo.MonthWithLeadingZeroAsVarchar(Geburtstag) from MeinerGeburtstagsTabelle[/Highlight]

        Comment


        • #5
          Ich bin begeistert - vielen Dank

          Ein guter Anlass, sich mal mit Funktionen auseinanderzusetzen

          Comment

          Working...
          X