PythonQ 240-8XX Bedienungsanleitung Seite 34

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 768
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 33
Kapitel 2: Vorb emerkungen zum deutschen Handbuch 13
MySQL benutzt Unix-Zeitfunktionen und hat keine Probleme mit Datumsangaben bis
2069. Alle zweistelligen Jahresangaben werden als Angaben zwischen 1970 und 2069,
betrachtet, was bedeutet, dass, wenn Sie 01 in einer Spalte speichern, MySQL dies als
2001 behandelt.
Alle MySQL Datumsfunktionen sind in einer Datei sql/time.cc gespeichert und sehr
sorgf¨altig kodiert, um Jahr-2000-sicher zu sein.
In MySQL Version 3.22 und sp¨ater kann der neue Spaltentyp YEAR Jahre 0 und von
1901 bis 2155 in 1 Byte speichern und sie mit 2 oder 4 Ziffern anzeigen.
Probleme onnen Sie bekommen, wenn Sie MySQL mit Applikationen benutzen, die
MySQL auf eine Art benutzen, die nicht Jahr-2000-sicher ist. Zum Beispiel speichern oder
¨andern viele alte Applikationen Jahresangaben, indem sie zweistellige Werte benutzen
(was mehrdeutig ist), anstatt vierstellige Werte zu nehmen. Dieses Problem kann durch
Applikationen verschlimmert werden, die Werte wie 00 oder 99 als Anzeiger “fehlender”
Werte benutzen.
Leider sind diese Probleme oglicherweise schwer zu beheben, weil verschiedene Applikatio-
nen von unterschiedlichen Programmierern geschrieben sein onnen, von denen jeder einen
anderen Satz von Konventionen und Funktionen benutzt haben kann, was die Handhabung
von Datumsangaben betrifft.
Hier ist eine einfache Demonstration, die zeigt, dass MySQL keine Probleme mit Datum-
sangaben bis zum Jahr 2030 hat:
mysql> DROP TABLE IF EXISTS y2k;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE y2k (date date, date_time datetime, time_stamp timestamp);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO y2k VALUES
-> ("1998-12-31","1998-12-31 23:59:59",19981231235959),
-> ("1999-01-01","1999-01-01 00:00:00",19990101000000),
-> ("1999-09-09","1999-09-09 23:59:59",19990909235959),
-> ("2000-01-01","2000-01-01 00:00:00",20000101000000),
-> ("2000-02-28","2000-02-28 00:00:00",20000228000000),
-> ("2000-02-29","2000-02-29 00:00:00",20000229000000),
-> ("2000-03-01","2000-03-01 00:00:00",20000301000000),
-> ("2000-12-31","2000-12-31 23:59:59",20001231235959),
-> ("2001-01-01","2001-01-01 00:00:00",20010101000000),
-> ("2004-12-31","2004-12-31 23:59:59",20041231235959),
-> ("2005-01-01","2005-01-01 00:00:00",20050101000000),
-> ("2030-01-01","2030-01-01 00:00:00",20300101000000),
-> ("2050-01-01","2050-01-01 00:00:00",20500101000000);
Query OK, 13 rows affected (0.01 sec)
Records: 13 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM y2k;
+------------+---------------------+----------------+
Seitenansicht 33
1 2 ... 29 30 31 32 33 34 35 36 37 38 39 ... 767 768

Kommentare zu diesen Handbüchern

Keine Kommentare