[MySQL] Nur Datum eines DateTime-Feldes anpassen

Moritz123

Erfahrenes Mitglied
Hallo allerseits,

ich stehe hier irgendwie gerade auf dem Schlauch: Ich möchte das Datum in einem Feld vom Typ DateTime anpassen, die darin angegebene Zeit soll aber gleich bleiben. Wie kann ich das am einfachsten und vorallem möglichst performant erreichen?

Besten Dank und schöne Grüße!
 
Kommt drauf an wie du anpassen möchtest. Wenns darum geht einen Tag dazuzurechnen etc, dann gibts da die passenden Funktionen.
Wenn du daber das Datum total auswechseln willst:
SQL:
STR_TO_DATE(CONCAT('31.12.2010 ', CURTIME()), '%d.%m.%Y %H:%i:%S')
 
Zuletzt bearbeitet von einem Moderator:
Hallo Yaslaw,

danke für deine Antwort.
Nochmal zur Klärung: Ich möchte nur den Datums-Teil des DateTime tauschen, also beispw.:
ALT: 2011-04-12 12:45:56 wird zu NEU: 2011-01-30 12:45:56, wobei für alle Datensätze der 30.01. zu setzen ist.
Wenn ich dein Snippet richtig verstehe, ersetzt es das Datum mit dem 31.12.2010 überschreibt mir aber auch den Zeit-Teil des Datetimes. Das genau will ich ja _nicht_.
 
SQL:
STR_TO_DATE(CONCAT('31.12.2010 ',TIME(NOW())), '%d.%m.%Y %H:%i:%S')
Wobei du NOW() durch dein Feld ersetzen kannst.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück