none
Datum prüfen SQL Abfrage RRS feed

  • Frage

  • Hallo, ich möchte mittels einer SQL Abfrage folgendes Problem lösen.
    Ich habe in einer Tabelle 2 Datumsspalten (Datumvon,Datumbis)
    Hier möchte ich jetzt abfragen ob ein vorgegebenes Datum innerhalb der beiden angegebenen Spalten liegt.

    z.B. habe ich
    Datumvon   Datumbis
    1.9.2018    19.9.2018
    1.9.2018    1.10.2018  müsste er selektieren
    21.9.2018  30.9.2018
    1.8.2018    25.9.2018 müsste er selektieren
    Prüfdatum 20.9.2018
    Wie löse ich das mittels einer Abfrage? Mit between wollte es schon mal nicht klappen. Gruß

    Donnerstag, 20. September 2018 08:23

Antworten

Alle Antworten

  • Hallo Thomas,

    welches RDBMS System und wie soll das Ergebnis konkret aussehen?

    Prüfen kannst Du am einfachsten mit BETWEEN, z.B.:

    SELECT *,
           CASE WHEN '20180920' BETWEEN DatumVon AND DatumBis
                THEN 'Ist drin'
                ELSE 'Ist nicht drin'
                END AS IstDrinOderNicht
    FROM Tabelle


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Donnerstag, 20. September 2018 08:45
  • Hallo Olaf, ich benutze MS SQL Server. Und die SQL Abfrage sollte Datensätze zurück liefern wie oben beschrieben.

    Gruß

    Donnerstag, 20. September 2018 09:39
  • Dann musst Du nur die Prüfung ins WHERE packen:

    SELECT *
    FROM Tabelle
    WHERE '20180920' BETWEEN DatumVon AND DatumBis


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Donnerstag, 20. September 2018 10:00