mzah_: DatumHeute - DatumDatensatz = 30 dann löschen

Hallo Forum

Ich hab gerade ein Kreativitätsproblem. date() erzeugt auf dem Server das Datum mit Format: dd.mm.yyyy

ich möchte alle datensätze die älter als 30 tage sind löschen. In der Datenbank wird das Datum nicht als date sondern als char gespeichert.

IF( DatumHeute - DatumDatensatz = 30 Tage) Dann
  hau wech die sch***e
End If

  • Bin dankbar für jede Hilfe...
  • Hab schon im Forum, Internet usw gesucht...

Freundliche Grüsse
DER mzah_

  1. hi,

    ich möchte alle datensätze die älter als 30 tage sind löschen. In der Datenbank wird das Datum nicht als date sondern als char gespeichert.

    dann solltest du dies als erstes ändern.
    jedes DB-system sollte geeignete typen zum ablegen von datumswerten anbieten - char ist mit ziemlicher sicherheit kein solcher, weil er die weitere verarbeitung/auswertung erschwert.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo mzah_,

    ich möchte alle datensätze die älter als 30 tage sind löschen. In der Datenbank wird das Datum nicht als date sondern als char gespeichert.

    IF( DatumHeute - DatumDatensatz = 30 Tage) Dann

    IF datediff("d",now,cdate(DatumDatensatz)) < 30 THEN

    ev. noch den 2. und 3. Parameter vertauschen...

    Gruss aus Luzern,
    Daniel

    1. Gruss aus Luzern,
      Daniel

      D'Schwizer händs halt im Griff.... Muss mer scho säge.. ;)

      Gruäss us Züri

      1. Hallo mzah_,

        Gruss aus Luzern,

        D'Schwizer händs halt im Griff.... Muss mer scho säge.. ;)

        Gruäss us Züri

        Zürchern helf ich ja eigentlich nicht so gern... ;-) Übrigens noch ein Gratis-Tipp: http://www.aspforum.de/ - hier verkehren recht wenige ASPler.

        Gruss aus Luzern,
        Daniel

  3. Ⓗⓐⓛⓛⓞ mzah_!

    Ich hab gerade ein Kreativitätsproblem.

    Für dein Problem ist nicht viel "Kreativität" vonnöten, das ist ein
    Standardproblem mit einer Standardlösung, wie sie im Buche stehen.
    Wenn du dir das nicht kaufen willst, empfehle ich unser </archiv/>.

    ich möchte alle datensätze die älter als 30 tage sind löschen.

    Wirklich löschen? Denke darüber nach, ob du sie vielleicht erst
    als "gelöscht" kennzeichnen willst. Eventuell bereust du den
    Informationsverlust später.

    In der Datenbank wird das Datum nicht als date sondern als char
    gespeichert.

    Warum? Der Server hat dann gleich doppelt Arbeit: Einerseits muss PHP
    mit dem date()-Befehl ein Datum kreieren, dessen Format für Sortierung
    usw. völlig ungeeignet ist (DD.MM.JJJJ), andererseits muss er dieses
    als Variable gespeicherte Datum dann auch noch in die Datenbank
    aeinfügen. Warum bleibst du also nicht gleich auf _einer_ Ebene und
    lässt das Datum mit der geeigneten Datenbankfunktion erzeugen?

    IF( DatumHeute - DatumDatensatz = 30 Tage) Dann
      hau wech die sch***e
    End If

    Interessanter Pseudocode.

    • Hab schon im Forum, Internet usw gesucht...

    Das dies nur eine Floskel war, s.o.

    ℆, ℒacℎgas

    --
    Keine Verbesserung ist zu klein oder geringfügig, als dass man
    sie nicht durchführen sollte. (Adorno)
    1. Hallo Lachgas,

      Warum? Der Server hat dann gleich doppelt Arbeit: Einerseits muss PHP
      mit dem date()-Befehl ein Datum kreieren,

      P*P muss gar nichts, da mzah_ mit ASP arbeitet (was du auch am Themengebiet einfach erkennen kannst ;-))...

      Gruss aus Luzern,
      Daniel

      1. Ⓗⓐⓛⓛⓞ daniel84!

        P*P muss gar nichts, da mzah_ mit ASP arbeitet (was du auch am
        Themengebiet einfach erkennen kannst ;-))...

        Eieiei, ich sollte meinen Optiker konsultieren ;-)

        ℆, ℒacℎgas

        --
        Keine Verbesserung ist zu klein oder geringfügig, als dass man
        sie nicht durchführen sollte. (Adorno)