zahlen umwandeln in richtiges datum

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

  • zahlen umwandeln in richtiges datum

    hallo gemeinschaft,
    beim import von einer csv datei in eine msyql tab habe ich folgendes problem - der import klappt gut nur liegen in einer spalte folgende daten vor in der form
    z.b.
    92006 daraus soll werden 2006-09-15 , 112005 daraus wird 2005-11-15
    könnt ihr mir da helfen

  • #2
    du kannst die zahl mit den string-funktionen zerpflücken, neu zusammensetzen und eintragen ...

    http://dev.mysql.com/doc/mysql/en/String_functions.html
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      entweder machst du es vor dem import mit php => substr/strlen sind deine freunde ... oder mit sql in einem update mit einer "hilfsspalte" und den sql string-funktionen ... right könnte hilfreich sein.
      Kissolino.com

      Kommentar


      • #4
        Re: zahlen umwandeln in richtiges datum

        Original geschrieben von jhaustein

        z.b.
        92006 daraus soll werden 2006-09-15 , 112005 daraus wird 2005-11-15
        könnt ihr mir da helfen
        d.h. aus 92006 soll nachher in der DB 2006-09-15 stehen? dann mußt du IMHO selbst coden. Denn nach welcher Regel soll aus 92006 2006-09-15 und nicht 2006-09-25 oder 2006-09-11 werden

        Kommentar


        • #5
          Re: Re: zahlen umwandeln in richtiges datum

          Original geschrieben von asp2php
          Denn nach welcher Regel soll aus 92006 2006-09-15 und nicht 2006-09-25 oder 2006-09-11 werden
          wieso? wenn er doch immer den 15. will? so hab ichs jedenfalls verstanden.
          Kissolino.com

          Kommentar


          • #6
            okay mit right kommt ich weiter - da nehme ich mir die ersten vier ziffern von rechts - dann habe ich das jahr - jetzt ist es aber so, dass mal ein einzahliger monat dort steht und mal ein zweizahliger monat - jetzt müsste es ein befehl geben, der von rechts zählt und ab einschl. der fünften stelle nach links alles in eine variable nimmt - den hab ich aber nicht gefunden

            Kommentar


            • #7
              LEFT?

              und als Länge nimmst LENGTH - 4
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                nee das geht nicht - die letzten vier sind immer das jahr - die erste/n beiden ziffern sind der monat

                92006 ist 9-2006
                112006 ist 11-2006

                ah sorry "-4" meintest du?

                Kommentar


                • #9
                  right('0'+substring(deinString,0,length(deinString)-4),2)
                  Zuletzt geändert von asp2php; 16.11.2004, 16:53.

                  Kommentar


                  • #10
                    das kann ich nicht so machen?

                    PHP-Code:
                    for($i=0;$i<sizeof($datensaetze);$i++) {
                    if(
                    $datensaetze[$i] != "") {
                    $testright('0'+substring($datenfeld[$i][7],4),2); 
                    um dann weiter unten nur das test ausgeben

                    Kommentar


                    • #11
                      ähm... wieso bist du denn auf einmal in PHP

                      Kommentar


                      • #12
                        wollte mir es auch anzeigen lassen

                        Kommentar


                        • #13
                          Original geschrieben von jhaustein
                          ah sorry "-4" meintest du?
                          ja
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            hallo gemeinschaft

                            ich bekomme das irgendwie nicht hin

                            muss ich denn jetzt für die ausgabe der jahres ein eigenes statement schreiben - oder kann ich es bevor ich es ausgebe so erstellen

                            $test = left(2, $datenfeld[$i][6]);

                            Kommentar


                            • #15
                              Original geschrieben von jhaustein
                              $test = left(2, $datenfeld[$i][6]);
                              du zeigst uns bestimmt mal die seite im php-manual, auf der du LEFT gefunden hast, ja?
                              Zuletzt geändert von wahsaga; 22.11.2004, 12:27.
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X