Datums-String umwandeln Datumswert

Yaslaw

alter Rempler
Moderator
Aus der MySQL-Hilfe: REPLACE(str, find_string, replace_with)
Bei dir fehlt str
SQL:
UPDATE zahlungen AS ept,
SET ept.Datum=REPLACE(ept.Datum, 'Mai', 'May')
WHERE ept.Datum LIKE '%Ma%'
 

m.scatello

Erfahrenes Mitglied
Dein Problem besteht schon darin, dass du das Datum als Text speicherst, das ist falsch. Benutze die Datentypen Date bzw. DateTime
 

Max-Berater

Erfahrenes Mitglied
Habe die Umwandlung des Datums-Strings ins englische Format dank Eurer Hilfe hinbekommen, sogar die Umwandlung ins Format 11.04.2021 hat problemlos funktioniert. Besten Dank
 

Max-Berater

Erfahrenes Mitglied
Ich muss das oben genannte Thema nochmal aufgreifen. Hatte es damals so gut gelöst mit der Umwandlung des Datums von z. B. 11. Mai 2021 zu 11. May 2021 und dann zu 11.05.2021

Leider habe ich das Script nicht mehr zur Hand und ich hänge nun wieder an dieser Umwandlung
von 11. May 2021 zu 11.05.2021 - alles andere konnte ich Dank dieses Forums und meinen Beiträgen nachvollziehen und nachbauen. Aber hier hakt es im Moment.

UPDATE Datum AS D
SET D.Datum=REPLACE(D.Datum, 'Mai', 'May')
WHERE D.Datum LIKE '%Mai%';

Aber weiter komme ich im Moment nicht
 

m.scatello

Erfahrenes Mitglied
Du speicherst ein Datum so "11. May 2021" bzw. so "11.05.2021". Das ist einfach nur falsch! Datenbanken haben den Datentyp date, der genau dafür gedacht ist. Eine Sortierung nach Datum ist in deinem Fall nicht so einfach möglich, das müsste man dann umständlich mit einer Script-Sprache machen.
 

Max-Berater

Erfahrenes Mitglied
OK, aber ich möchte den 11. May 2021 einfach nur in 11.05.2021 wandeln in der Datenbank und dann als CSV ausgeben lassen bzw. extern weiterverarbeiten. Es hatte alles wunderbar geklappt. Hätte ich ein Backup des Scripts würde ich jetzt mir am diesem Schritt nicht wieder die Zähne ausbeißen bzw. hier im Hilfe fragen müssen.