Announcement

Collapse
No announcement yet.

Datum Heute - 14 Tage

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

  • Datum Heute - 14 Tage

    Folgende Situation.
    Ich will etwas ausgeben von jetzt an bis rückwärts der letzten 14 Tage

    Habe ich so gemacht:
    DTLE = BETWEEN TO_DATE(SYSDATE-14,'DD.MM.YYYY HH24:MI:SS')
    AND TO_DATE(SYSDATE,'DD.MM.YYYY HH24:MI:SS')

    Syntax ist richtig, logisch ist es aber falsch....ich bekomme nichts ausgegeben, obwohl Datensätze für diesen Zeitraum vorhanden sind.

    Wo liegt der Fehler?

  • #2
    TO_DATE(SYSDATE-14,'DD.MM.YYYY HH24:MI:SS')
    SYSDATE liefert bereits einen Wert vom Datentyp date zurück. Warum soll der DATE-Wert in einen DATE-Wert durch to_date() konvertiert werden?
    von jetzt an bis rückwärts der letzten 14 Tage
    bedeutet:
    BETWEEN sysdate-14 AND sysdate
    Wenn ich Werte der letzten 14 Tage haben möchte, dann interessiert mich die Uhrzeit nicht.

    Von welchem Datentyp ist die Spalte DTLE?

    kuemmelchen

    Comment


    • #3
      DTLE = BETWEEN
      Das = ist sicherlich nicht syntaxtisch korrekt, Es lautet
      Code:
      WHERE DTLE BETWEEN ...
      Die andere Frage die ich mir stelle: Warum wandelst Du ein Datum in ein Datum um? Lass das TO_DATE doch einfach weg.

      Wenn Du die Urzeit auf 00:00:00 setzen möchtest, dann verwende TRUNC(sysdate)

      Dim
      Zitat Tom Kyte:
      I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

      Comment


      • #4
        funktioniert:

        Code:
        with datum as
        (
          SELECT TO_DATE('22.07.2009') as dat from dual
          UNION ALL
          SELECT TO_DATE('15.07.2009') as dat from dual
          UNION ALL
          SELECT TO_DATE('08.07.2009') as dat from dual
          UNION ALL
          SELECT TO_DATE('03.07.2009') as dat from dual
        )
        SELECT *
        FROM datum
        WHERE dat between SYSDATE-14 AND SYSDATE

        Comment

        Working...
        X