Datumsprobleme

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datumsprobleme

    Ich will eine Datumsvergleichsabfrage machen, ...

    dabei sollen alle Daten angezeigt werden, deren eingetragenes Datum minus des Systemdatums <= (Variable)X sind.
    Eine Einschränkung die ich da habe, ist das Datumsformat: TT.MM.JJJJ.

    Hier die SQL-Query mit der ich es (unter anderem) versucht habe :
    $result = mssql_query ("SELECT Artikelbezeichnung, Menge, Einheit, Einlagerdatum, Verfall
    FROM $table2
    WHERE ( Verfall - $date ) < = '$tl'
    ORDER BY Artikelbezeichnung ASC ");

    // $date : Aktuelles Systemdatum
    // $tl : eingelesene Variable von HTML-Script z.B.: 2, 3, 4, ...

    Bei mir meckert der Rechner dann:
    SQL message: Zeile 3: Falsche Syntax in der Nähe von 'Jan'. (severity 15) in Verzeichniss_blabla

    Wie kann ich denn nur die Tage rausfiltern?
    Geht das überhaupt???


    Heißen Dank im voraus

  • #2
    Hi!

    mySQL speichert den Datumstyp in der Form: YYYY-MM-DD
    PHP aber in der Form: DD-MM-YYYY

    Weshalb mySQL das Datum dann falsch interpretiert und/oder einen fehler meldet.

    Zuerst das Datum von PHP in das mySQL-Format umwandeln.

    Tage kannst berechnen mit der mySQL-Funktion: TO_DAYS(date);
    Diese liefert die Tage(die vergangenen Tage seit Jahr 0).

    Wenn diese Funktion auf das Systemdatum und auf das Verfalldatum anwendest kannst die Differenz leicht berechnen.

    EXTRACT(type FROM date) extrahiert einen Teil des Datums, für Tage also:
    EXTRACT(day from Verfall);
    Natürlich in Verbindung mit dem SELECT-Statement zu sehen

    Also für deinen Fall:

    Zuerst mal das Systemdatum auf die Form: YYYY-MM-DD bringen für mySQL und dann:

    Code:
    $result = mssql_query ("SELECT Artikelbezeichnung, Menge, Einheit, Einlagerdatum, Verfall 
    FROM $table2 
    WHERE TO_DAYS(Verfall) - TO_DAYS($date) < = '$tl' 
    ORDER BY Artikelbezeichnung ");
    ASC is übrigens Standardeinstellung und kannst weglassen; Die Klammern auch

    Grüsse

    [Editiert von iQD am 30-01-2002 um 19:16]
    FreeBSD - Unleash the daemon inside your PC

    Kommentar

    Lädt...
    X