• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Timestamp

lacido

Mitglied
Hallo zusammen,

ich möchte gerne eine Datenbankabfrage haben mit der man einfach das Datum darstellt das sich innerhalb eines best. Zeitraumes befindet.

Nun habe ich Dummerweise damals als Typ TimeStamp gewählt mit DateTime wäre es einfacher gewesen.


Die Abrage sieht nun so aus:

Code:
select Rubrik, Datum from homepagett where Datum < '2013-02-25' order by Datum desc;

ist ja auch korrekt so.

Ich möchte nun aber dass nur das Datum angezeigt wird ohne Uhrzeit.

z.B. so - das Beispiel funktioniert nicht, keine Uhrzeit angegeben.
Code:
select Rubrik, Datum from homepagett where Datum '2013-02-25' order by Datum desc;

Es soll im endeffekt möglich sein alle einträge der Datenbank so auszulesen dass der Abfrageparameter auch lauten kann

order by 'm', order by 'd', order by 'Y'

Wie bekomme ich nun Timestamp dazu nur das Datum Darzustellen, bz. nur 'y-m-d' getrennt?

Oder wäre es eher eine Überlegung alle Datensätze ca. 85.000 ins Formet Datetime zu übertragen?
 
Oder wäre es eher eine Überlegung alle Datensätze ca. 85.000 ins Formet Datetime zu übertragen?
Genau das. Eine Spalte vom Typ dateTime einfügen, ein Update auf die Tabelle ausführen, die alte Spalte löschen, die neue umbenennen.

Hier noch das Update-Statement:

update `tabelle` set `neueSpalte` = from_unixtime(`alte_spalte`)
 
Hallo bdt600,

vielen Dank für Deine schnelle Hilfe,

ich habe es so ausgeführt wie Beschrieben, aber es funktioniert leider nicht. Entweder enthält die Spalte NULL wenn ich Ja setze oder 0000-00-00 00:00 wenn Null auf Nein gesetzt ist.

Definiert ist er Befehl:

Code:
update `homepagett` set `Datum2` = from_unixtime(`Datum`)

trotzdem erhalte ich die meldung - keine Spalte betroffen

Ausgeführt wurde der Befehl mit PHPMyadmin.

Ob ich nun Null auf Ja setze oder Nein hat einen Einfluss auf das Ergebnis.

Hast du eventuell eine Idee woran es liegen könnte?


Vielen Dank für Deine Mühe,
 
Hi,

welches Format hast du denn nun in dein "Datum" Feld?
Also oben hast du ja geschrieben das du dort ein Timestamp drin hast, dann wüde doch "where Datum < '2013-02-25'" gar nicht funktionieren
 
Ahhh danke, Sentence
Da hab ich wirklich zu viel an PHP gedacht.

Das würde denn auch erklären warum folgendes
update `tabelle` set `neueSpalte` = from_unixtime(`alte_spalte`)
nicht funktioniert, da dieser den unixtimestamp erfordert.

Sprich man müsste den timestamp in unixTimestamp umwandeln, diese an from_unixtime übergeben und als zweiten Parameter das Format welches man haben möchte eintragen.

Oder mein Kopf ist schon im Wochenende :D
 
Zurück
Oben