Mario: Suche nach Jahr in einem DB-Timestamp Feld

Hi,

zuerst paar Fakten: MySql 5 im Einsatz.

Mein Problem: Ich habe ein Datum in einem int Feld im Unix Timestamp Format in der DB abgespeichert. Nun suche ich z.B. alle Eintraege von "2007". Das wuerde ich gerne direkt als sql schreiben. Hat jemand ne Idee, welche MySql-Funktionen dort eingesetzt werden muessen?

Vielen Dank!

  1. hi,

    Mein Problem: Ich habe ein Datum in einem int Feld im Unix Timestamp Format in der DB abgespeichert.

    Ja warum machst du denn so'n Unfug?
    Nutze für sowas die Datumstypen, die MySQL dir anbietet.

    Nun suche ich z.B. alle Eintraege von "2007". Das wuerde ich gerne direkt als sql schreiben. Hat jemand ne Idee, welche MySql-Funktionen dort eingesetzt werden muessen?

    YEAR und FROM_UNIXTIME.
    Aber optimal ist das nicht, du solltest die Wahl des Feldtyps wirklich noch mal überdenken.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Erst Mal danke fuer die Antwort.

      YEAR und FROM_UNIXTIME.
      Aber optimal ist das nicht, du solltest die Wahl des Feldtyps wirklich noch mal überdenken.

      MM...das geht wohl nicht, nutze Typo3 und die Felder sind vorgegeben.

      Ich schau es mir mal an, wenn jemand Lust hat vor und nach YEAR und FROM_UNIXTIME noch paar Woerter zu schreiben waere es wunderbar :)

      1. Hallo

        YEAR und FROM_UNIXTIME.
        Aber optimal ist das nicht, du solltest die Wahl des Feldtyps wirklich noch mal überdenken.
        MM...das geht wohl nicht, nutze Typo3 und die Felder sind vorgegeben.

        von jemandem mit wenig Ahnung von Datenbanken :-(
        Aber kommen die von Typo3? Wirklich?

        Ich schau es mir mal an, wenn jemand Lust hat vor und nach YEAR und FROM_UNIXTIME noch paar Woerter zu schreiben waere es wunderbar :)

        Was macht wohl FROM_UNIXTIME?
        Richtig, es wandelt einen UNIX-Timestamp in einen MySQL-DATETIME-Wert.

        Was benötigst Du von diesem DATETIME-Wert?
        Richtig, den Jahresanteil, auf englisch YEAR.

        Wo könnte es mehr Informationen zu diesem Thema geben?
        Richtig, im MySQL-Handbuch,
        genauer im Abschnitt Funktionen und Operatoren,
        noch spezieller im Unterabschnitt Datums- und Zeitfunktionen.

        Irgendwie logisch.

        Freundliche Grüße

        Vinzenz

        1. esem Thema geben?

          Richtig, im MySQL-Handbuch,
          genauer im Abschnitt Funktionen und Operatoren,
          noch spezieller im Unterabschnitt Datums- und Zeitfunktionen.

          Irgendwie logisch.

          Ja, dann nochmals an alle vielen Dank! Und hier die Loesung:

          SELECT * from table where FROM_UNIXTIME(date, "%Y") = 2007

  2. Hello,

    zuerst paar Fakten: MySql 5 im Einsatz.

    Mein Problem: Ich habe ein Datum in einem int Feld im Unix Timestamp Format in der DB abgespeichert. Nun suche ich z.B. alle Eintraege von "2007". Das wuerde ich gerne direkt als sql schreiben. Hat jemand ne Idee, welche MySql-Funktionen dort eingesetzt werden muessen?

    select year(from_unixtime(zeitzahl)) as jahr from zeit;

    Danuit erhältst Du in jahr die Jahreszahl der Spalte zeitzahl, die bei mir ein bigint ist.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau