Hallo Ernst, hallo Andreas, das Ganze ist ja kein phpMyAdmin-Datentyp, sondern einer von MySQL. Die Verarbeitung als jjjj bringt daher eigentlich keine Vorteile sonder die richtig beschriebenen Nachteile, dass z.B. ältere Werke nicht eingegeben werden können, obwohl eine vierstellige Zahl eingegeben werden muss (geht schließlich von 1901 bis 2155). Da ist SMALLINT(4)[UNSIGNED] natürlich universell geeigneter - es sei denn, dass auch vor dem Jahr 0 eine Eingabe möglich sein soll.
Wird YEAR(2) gewählt, so geht es um die zweistellige Eingabemöglichkeit. Und die macht natürlich dann Sinn, wenn ich mich nur um das aktuelle Jahr herum bewege. Die Zählung läuft von 1970 bis 2069 (1.1.1970 ist so etwas wie der UNIX-Nullpunkt). Mit YEAR(2) wird auch die Eingabe einer 9 als 2009 richtig umgesetzt. Natürlich muss man mit der Einschränkung durch diesen Datentyp vorsichtig sein. Aber einmal ehrlich: Wer jetzt eine Datenbank zusammenstellt wird sich doch sowieso laufend um Änderungen bemühen, damit das Ganze noch mit Wechsel der Basissoftware funktioniert. Und jetzt schon in diesem schnelllebigen Metier mir Gedanken über eine Eingabe zu machen, die nach der Konstruktion der Datenbank erst im Jahr 2069 zum Problem werden könnte (schließlich werden geplante bzw. gerade erstellte Werke in der Datenbank geführt) ist mir einfach zu praxisfern. Wenn wir über Einschränkungen nachdenken, die uns bestimmte Datentypen dann gerade auferlegen: Auch die Datumseingabe hat natürlich eine Beschränkung. Wenn ich mit Geschichtsdaten eine Datenbank füttern will, dann muss ich vorsichtig sein und vermutlich stattdessen besser ein vorformatiertes Eingabefeld konstruieren. Die Datumszählung z.B. bei MySQL beginnt nämlich im Jahr 1000 und hört im Jahr 9999 auf. Fazit für mich: Vorher klar festlegen, wofür die Datenbank gedacht ist (darüber wurde in diesem Thread ja schon zur Genüge geschrieben), dann für diesen Zweck die richtigen Datentypen aussuchen und die Begrenzungen, die ich dann noch brauche, in dem Formular und gegebenenfalls durch eine Scriptsprache lösen. Da kann ich dann auch das obige auf vier Stellen begrenzte SMALLINT-Feld nehmen und entsprechen aus der 9 immer noch eine 2009 produzieren und muss gegebenenfalls nur mein Script anpassen. Gruß Robert --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org