Announcement

Collapse
No announcement yet.

MS SQL Kalenderwoche und dazugehöriges Jahr

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

  • MS SQL Kalenderwoche und dazugehöriges Jahr

    Hallo alle zusammen,

    ich benötige eine möglichkeit die Kalenderwoche mit dazugehörigem Jahr darzustellen.
    es soll in jeder Zeile z.B. stehen "KW 38 in 2012".
    wenn der '02.01.2012' noch in KW 53 von 2011 liegt soll 'KW 53 in 2011' ausgegeben werden.
    am liebsten wäre es mir dies direkt in die abfrage zu integrieren und ohne eine Funktion auszukommen.

    die Kalenderwoche bekomme ich mittels Datepart(isowk, Datum) as 'KW im Jahr'; es handelt sich um einen SQL Server 2008.
    am ende der Abfrage möchte ich die abfrage nach 'KW im Jahr' gruppieren um eine Summe zu bekommen

    mfg
    Thompson
    Zuletzt editiert von L4a-Thompson; 20.09.2012, 16:23.
    http://www.mts-solutions.de/

  • #2
    Hallo L4a-Thompson,

    für die Sortierung ist es am geschicktesten, zuerst das Jahr und dann die Woche (ggf. mit führender 0) anzugeben.

    Code:
    Select CAST(YEAR('02.01.2012') AS VARCHAR) + ' KW ' + RIGHT('0'+ CAST(DATEPART(ISO_WEEK, '02.01.2012') as varchar),2)
    Ergebnis "2012 KW 01"
    Und Falk Prüfer sprach: Formatierung von SQL in Beiträgen

    Comment


    • #3
      Ergebnis "2012 KW 01"
      Es soll aber 2011 rauskommen, wenn ich den Fragesteller verstanden habe
      Zur Berechnung des Jahres müßte man also das Datum des Wochenanfangs nehmen und die durch YEAR jagen.

      Den Wochenanfang bekommmt man zum Beispiel mit
      [Highlight=SQL]]DATEADD(DAY, 1-DATEPART(WEEKDAY, @Datum), @Datum)[/Highlight]

      Bedenke aber die richtige Einstellung des Wochenanfangs (SET DATEFIRST). Das ist nicht zwingend Montags.

      Comment


      • #4
        guten Abend,
        @Ralf, ja du hast es Richtig Verstanden aber ich kann mit deinem Dateadd leider nicht allzuviel anfangen.
        @knoxyz, deine Lösung hatte ich bereits bis ich festgestellt habe dass wenn der 1. oder 2. Januar noch in die KW 53 des vergangenen Jahres fällt habe ich das gesamt Jahr über bereits eine KW 53.

        ich stehe gerade noch auf dem Schlauch, wie Verbinde ich diese beiden Statements jetzt mit einander?
        http://www.mts-solutions.de/

        Comment


        • #5
          Welchen Kalender benutzt du denn???
          Offiziell ist der 1.1.2012 = 2011 KW 52
          und 2.1.2012 = 2012 KW 01.

          Die von dir besagte KW 53 gibt es 2011 und 2012 gar nicht.
          Das letzte Mal lag der 1.1. im Jahr 2010 in KW 53 von 2009.
          Und Falk Prüfer sprach: Formatierung von SQL in Beiträgen

          Comment

          Working...
          X