Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Abfrage auf Monat beschränken...

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von CallHimX, 19 Juni 2012.

  1. CallHimX

    CallHimX Neuer Benutzer

    Hallo zusammen,

    ich bin heute auf der Arbeit (fast) zum ersten mal mit SQL zusammengestoßen,
    da sich in gewissen Dingen dort Workflows verbessern ließen wenn man sich direkt die Daten an der Quelle holen würde. Genug dazu, direkt zu meiner Frage:

    In dieser Abfrage geht es darum Schichtdienste von Mitarbeitern an den einzelnen Tagen aufzulisten.
    Dies klappt ansich ganz gut, einziges Problem derzeit wo ich mir noch nicht helfen konnte, dass limitieren auf ein gewisses Datum.

    Derzeit gehe ich vom heutigen Datum 30 Tage in die Zukunft und 10 Tage zurück.
    Doch was ich eigentlich benötigen würde, wäre festgesetzt, vom heutigen Tage bis Ende eines Monats.
    Oder auch alternativ von Anfang eines Monats bis zum Ende.

    Code:
    where i.Datum >= convert(datetime, Convert(int, getdate()-10, 104))
            and i.Datum <= convert(datetime, Convert(int, getdate()+30, 104)) 

    Ist derartiges möglich?
    Ich vermute mal schon, doch ihr habt es hier mit jemandem zu tun, der sich heute die Basics schnell auf der Arbeit bei gebracht hat und nun etwas vor einem Rätsel steht.

    Da ich dies sicherlich im weiteren Verlauf alles sehr gut gebrauchen kann würde ich auch gern näher in die Thematik einsteigen. Daher würde ich mich freuen wenn einer der Profis hier etwas dazu sagen könnte.:)

    Vielen Dank und

    LG,

    CallHimX
     
  2. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hy,

    das ist je nach DBMS unterschiedlich. Aber für MSSQL habe ich folgendes Beispielscript gefrunden:

    Code:
     
    DECLARE @mydate DATETIME
    SELECT @mydate = GETDATE()
    SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)),@mydate),101) ,
    'Last Day of Previous Month'
    UNION
    SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)-1),@mydate),101) AS Date_Value,
    'First Day of Current Month' AS Date_Type
    UNION
    SELECT CONVERT(VARCHAR(25),@mydate,101) AS Date_Value, 'Today' AS Date_Type
    UNION
    SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@mydate))),DATEADD(mm,1,@mydate)),101) ,
    'Last Day of Current Month'
    UNION
    SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@mydate))-1),DATEADD(mm,1,@mydate)),101) ,
    'First Day of Next Month'
    GO
     
    
     
    ukulele gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden