Ankündigung

Einklappen
Keine Ankündigung bisher.

Mysql Statement

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Mysql Statement

    servus,
    folgende problematik: eine menge datenbankeinträge in denen das datum so aussieht:
    2028-10-09 17:15:00
    ursprünglich sollte es 2009-10-28 17:15:00 heißen, die letzten beiden zahlen im jahr sind also mit dem tag vertauscht. ist beim wechseln des datenfeldtyps auf datetime passiert.
    kennt jemand einen mysql befehl der mir da weiterhelfen könnte? oder muss ich das per php script machen?

    #2
    UPDATE tablename SET datum = CONCAT(SUBSTRING(datum,1,2),SUBSTRING(datum,9,2),S UBSTRING(datum,5,4),SUBSTRING(datum,3,2),SUBSTRING (datum,11));

    Ist ziemlich billig mit Concat und Substring. Eine bessere Lösung fällt mir aber auf die Schnelle nicht ein. Wenn es wirklich sehr viele Daten sind, solltest du eventuell mehrere Querys draus machen. Also WHERE ID BETWEEN x AND y hinzufügen.

    Edit: Musst meinen Post zitieren oder so, zumindest im Chrome erscheint der Text abgeschnitten. Dass du tablename und datum entsprechend ersetzten musst, ist dir ja hoffentlich klar :)

    Kommentar


      #3
      Zitat von thextor
      UPDATE tablename SET datum = CONCAT(SUBSTRING(datum,1,2),SUBSTRING(datum,9,2),S UBSTRING(datum,5,4),SUBSTRING(datum,3,2),SUBSTRING (datum,11));

      Ist ziemlich billig mit Concat und Substring. Eine bessere Lösung fällt mir aber auf die Schnelle nicht ein. Wenn es wirklich sehr viele Daten sind, solltest du eventuell mehrere Querys draus machen. Also WHERE ID BETWEEN x AND y hinzufügen.

      Edit: Musst meinen Post zitieren oder so, zumindest im Chrome erscheint der Text abgeschnitten. Dass du tablename und datum entsprechend ersetzten musst, ist dir ja hoffentlich klar :)
      mir würde jetzt auf die schnelle auch nix besseres einfallen, war denn nur das datum falsch von eurer db? oder auch noch mehr?

      Kommentar


        #4
        Zitat von thextor
        UPDATE tablename SET datum = CONCAT(SUBSTRING(datum,1,2),SUBSTRING(datum,9,2),S UBSTRING(datum,5,4),SUBSTRING(datum,3,2),SUBSTRING (datum,11));

        Ist ziemlich billig mit Concat und Substring. Eine bessere Lösung fällt mir aber auf die Schnelle nicht ein. Wenn es wirklich sehr viele Daten sind, solltest du eventuell mehrere Querys draus machen. Also WHERE ID BETWEEN x AND y hinzufügen.

        Edit: Musst meinen Post zitieren oder so, zumindest im Chrome erscheint der Text abgeschnitten. Dass du tablename und datum entsprechend ersetzten musst, ist dir ja hoffentlich klar :)
        das sieht gut aus, kannte "substring" nicht, bin beim googlen nur auf "replace" gestoßen aber damit war mir nicht unbedingt geholfen. habs im endeffekt aber dann mit nem phpscript gemacht weil hier erst keine antworten kamen. trotzdem vielen dank!

        @michi: war nur das datum

        Kommentar

        Lädt...
        X