[SQL] DATEDIFF?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von ghma83, 8. Dezember 2011 .

  1. 8. Dezember 2011
    DATEDIFF?

    Hey,
    kann mir mal jemand erklären, warum zur Hölle DATEDIFF bei mir nicht funktioniert?
    Es ist doch vorgesehen, dass man es so nutzt:
    Code:
    DATEDIFF(exp1, exp2)
    und erhält die Differenz in Tagen.

    Das hier ist mein Ansatz:

    Code:
    // Die naechsten Termine in der Zeitspanne X Tage
     $query = mysql_query("SELECT * FROM `ims_tests` WHERE DATEDIFF(CURRENT_TIMESTAMP, `testdatum`) <= 5 ORDER BY `testdatum`");
    Das Feld 'testdatum' hat den Wert timestamp und ich arbeite mit CURRENT_TIMESTAMP bei Einträgen.
    Weiss jemand mehr?
     
  2. 8. Dezember 2011
    AW: DATEDIFF?

    hi,
    sql ist nicht immer meine stärke, aber gundsätzlich (bitte berichtigen wenn ich falsch liege)
    zu WHERE
    PHP:
    WHERE activ = 1
    oder
    WHERE activ
    > 0
    also guck ich in der tabelle ob die spalte activ den wert xyz hat.

    jetzt versuchst du anhand einer berechneten spalte deine abfrage zu machen.
    PHP:
    WHERE DATEDIFF ( CURRENT_TIMESTAMP , ` testdatum `)<= 5
    also wo soll nun geguckt werden in welcher spalte die differenz von <=5 ist?

    ungestetet
    PHP:
    $query  mysql_query ( "SELECT *, DATEDIFF(CURRENT_TIMESTAMP, `testdatum`) AS datediff FROM `ims_tests` WHERE  datediff<= 5 ORDER BY `testdatum`" );
     
  3. 8. Dezember 2011
    AW: DATEDIFF?

    Also so wie ich das in der Dokumentation lese, erwartet DATEDIFF() keinen Timestamp, sondern DATE...
    MySQL :: MySQL 5.1 Reference Manual :: 12.7 Date and Time Functions

    Sprich du musst entweder als DATE speichern oder du wandelst den Timestamp jedesmal um...
     
  4. 8. Dezember 2011
    AW: DATEDIFF?

    Wenn Du eh Unix-Timestamps hast, wieso subtrahierst Du die Werte nicht einfach miteinander, so dass eine Differenz in Sekunden rauskommt? Die brauchst ja nur dividieren durch 24*3600 und fertig hast Deine Tagesdifferenz.
     
  5. 5. Februar 2012
    AW: DATEDIFF?

    Danke für Eure Information! Hab es im Stress leider vergessen, hier gepostet zu haben.
    Ich weiss, die Lösung war relativ schnell gefunden, ich suche sie wenn ich nachher an meinem privaten Rechner bin und schreibe sie hier hinein.

    PHP:
    <? php  #platzhalter  ?>
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.