Meowsalot: MySQL - Daten kopieren und umwandeln

Guten Morgen,

ich habe gerade gesehen dass mir ein Fehler beim Insert unterlaufe ist. Ist folgendes direkt mit einem MySQL Befehl möglich?

  • Schau in das Feld "bis"
  • Nimm das deutsche Datum z.B. 15.01.2018
  • Wandel dieses in 2018-01-15 um
  • Kopie dieses in ein neues Feld mit dem Namen "bereinigt"

Bis bald!
Meowsalot (Bernd)

  1. Guten Morgen,

    ich habe gerade gesehen dass mir ein Fehler beim Insert unterlaufe ist. Ist folgendes direkt mit einem MySQL Befehl möglich?

    • Schau in das Feld "bis"
    • Nimm das deutsche Datum z.B. 15.01.2018
    • Wandel dieses in 2018-01-15 um
    • Kopie dieses in ein neues Feld mit dem Namen "bereinigt"

    Doku gelesen? Wenn es ein Feld von Type Datum ist, funktionieren diesbezügliche Funktionen die MySQL dafür bereitstellt. Wenn das Feld jedoch ein Stringfeld (text, varchar) ist, siehe Stringfunktionen (Zeichenketten). Wahrscheinlich wirst Du beides kombinieren müssen.

    MfG

  2. Tach!

    ich habe gerade gesehen dass mir ein Fehler beim Insert unterlaufe ist. Ist folgendes direkt mit einem MySQL Befehl möglich?

    Ja, mit UPDATE. Aber etwas anders als du es formuliert hast.

    • Schau in das Feld "bis"
    • Nimm das deutsche Datum z.B. 15.01.2018
    • Wandel dieses in 2018-01-15 um
    • Kopie dieses in ein neues Feld mit dem Namen "bereinigt"

    UPDATE table SET bereinigt = konvertiere(bis)

    Soweit der Pseudocode. Für das Konvertieren gibts in der Date-Time-Funktionssammlung sicher was passendes. Wie wäre es mit STR_TO_DATE()?

    Und beim nächsten Mal nimm lieber gleich ein Datumsfeld und kein Stringfeld, dann treten solche Probleme gar nicht erst auf, beziehungsweise fallen schon beim Testen auf, wenn du den deutschen Wert nicht eingetragen bekommst.

    dedlfix.