# MM.YYYY als Datum speichern



## miketech (7. Sep 2007)

Hi zusammen,

ich möchte gerne ein Datum in einer DB (MySQL) speichern. Allerdings möchte ich nicht DD.MM.YYYY, sondern nur MM.YYYY, der Tag interessiert mich nicht. Wie gehe ich hier vor: Muss ich trotzdem DD.MM.YYYY speichern und bei der Ausgabe eben nur Monat und Jahr berücksichtigen? Oder gibt es irgendwie die Möglichkeit das bereits in der Datenbank vorzunehmen?

Bisher habe ich das immer mit Strings gemacht. Das Problem ist allerdings die Sortierung. Weil dann ist:

08.2007 nach 07.2008

D.h. ich muss immer angeben, dass zuerst nach den letzten 4 Zeichen und dann nach den ersten 2 sortiert werden muss. Das scheint nicht unbedingt positiv zur Performance beizutragen 

Gruß

Mike


----------



## The_S (7. Sep 2007)

Naja, entweder n Date und den Tag einfach ignorieren, so klappts auch mit dem OrderBy. Oder alternativ (so speichern wir unser Datum immer) als Integer und dann halt zuerst Jahr, dann Monat und ggf. noch Tag. Da haste beim Sortieren dann auch kein Problem (es sei denn es kommt ma wieder eine auf die glorreiche das Datum andersrum eintragen zu lassen :roll: ) . Währe dann  z. B. 200709 oder 20070907


----------



## miketech (7. Sep 2007)

Ok danke, muss ich mal drüber nachdenken. 

Gruß

Mike


----------



## FenchelT (7. Sep 2007)

Du kannst auch fuer Monat und Jahr zwei getrennte DB Felder machen, die Du als varchar abspeicherst.
Dann machst Du beim ORDER BY einfach ORDER BY Jahr, Monat und konkatinierst die Felder bei der Ausgabe, also sprich beim SELECT


----------



## ms (7. Sep 2007)

Ich bevorzuge die Variante mit einem Feld.
Da kann man dann auch sehr einfach mit BETWEEN arbeiten.

ms


----------

