Announcement

Collapse
No announcement yet.

SELECT in bestimmten Datumsbereich

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

  • SELECT in bestimmten Datumsbereich

    Hallo zusammen,

    ich habe da ein kleines Problem in SQL.
    Ich habe eine Tabelle in der Datumsfelder (DatumVon und DatumBis beides DateTime Felder) enthalten sind. Der Anwender kann einen frei wählbaren Von/Bis-Zeitraum eingeben.

    1. Beispiel:
    DatumVon: 01.12.2001
    DatumBis: 31.01.2002

    2. Beispiel:
    DatumVon: 25.12.2001
    DatumBis: 05.01.2002

    Eingabe: 24.12.2001 - 26.12.2001

    Jetzt sollten mir alle Datensätze angezeigt werden, die in diesen Zeitraum passen (also beide Beispiele).
    Achso, ich verwende den Sybase SQL Server 11.3.

    Vielen Dank für Eure Hilfe!

    Gruß
    Markus Hübinger

  • #2
    Komplett reinpassen oder Überschneidungen haben?

    Komplett sollte doch sein

    :von <= DatumVon and DatumBis <= :bis

    Überschneidungen denke ich gerade:

    DatumVon =< :bis and :von <= DatumBi

    Comment


    • #3
      Erstmal Danke für die schnelle Antwort!

      Es sollten beide möglich sein (Reinpassen und Überschneidungen).
      Bei den Überschenidungen fallen allerdings die Sätze raus, die vor dem :von liegen (ich hatte hierzu kein Beispiel angegeben ;-)

      Ich habe jetzt folgendes Versucht:

      (datumvon >= :von and datumvon <= :bis)
      or
      (datumbis >= :von and datumvon <= :bis)

      Es scheint zu funktionieren (hoffe ich ;-)

      Gruß
      Markus Hübinge

      Comment


      • #4
        Hallo Leute!

        Ich habe ähnliches Problem, nur etwas komplizierter:
        ich muss dabei noch auf die Zeit aufpassen.
        Z.B. > '31.07.2002 06:00:00', dabei muss ich das Datum als sysdate ansprechen.
        Mit Datum klappt's, was mache ich mit Der Uhrzeit? Wie spreche ich sie an?

        Kann mir jemand helfen??? Es ist dringend bei mi

        Comment


        • #5
          Hallo Markus,

          wenn du auf dein <I>(datumvon >= :von and datumvon <= :bis) or (datumbis >= :von and datumvon <= :bis)</I> noch die Kürzungsregeln der Logik anwendest, dann kommst du auf: (datumvon < :bis and datumbis > :von) ;-)

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X