PythonQ 240-8XX Uživatelský manuál Strana 404

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 768
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 403
Kapitel 7: MySQL-Sprachreferenz 383
merischer Daten erfordert, FLOAT oder DOUBLE PRECISION ohne Festlegung der Genauigkeit
oder Anzahl von Dezimalstellen benutzen.
Wenn ein Wert in einer numerischen Spalte gespeichert werden soll, der ausserhalb des er-
laubten Wertebereichs des Spaltentyps ist, schneidet MySQL den Wert auf den entsprechen-
den Endpunkt des Wertebereichs ab und speichert statt dessen diesen Wert.
Der Wertebereich einer INT-Spalte ist zum Beispiel -2147483648 bis 2147483647. Wenn Sie
versuchen, -9999999999 in eine INT-Spalte einzuf¨ugen, wird der Wert auf den unteren End-
punkt des Bereichs a/jointfilesconvert/293675/bgeschnitten, und es wird -2147483648 gespeichert. Gleichermaßen
wird beim Einf¨ugen in eine solche Spalte nicht 9999999999, sondern 2147483647 gespe-
ichert.
Wenn die INT-Spalte UNSIGNED ist, ist die Gr¨oße des Wertebereichs dieselbe, aber ihre
Endpunkte verschieben sich zu 0 und 4294967295. Wenn Sie versuchen, -9999999999 bzw.
9999999999 zu speichern, werden die in der Spalte gespeicherten Werte statt dessen zu 0
bzw. 4294967296.
Umwandlungen, die aufgrund von Abschneiden geschehen, werden als “Warnungen” bei
ALTER TABLE, LOAD DATA INFILE, UPDATE und in mehrzeiligen INSERT-Statements berichtet.
7.2.2 Datums- und Zeit-Typen
Die Datums- und Zeit-Typen sind DATETIME, DATE, TIMESTAMP, TIME und YEAR. Jeder dieser
Typen hat einen zul¨assigen Wertebereich sowie einen “0”-Wert, der benutzt wird, wenn Sie
einen wirklich unzul¨assigen Wert speichern. Beachten Sie, dass MySQL es zul¨aßt, dass Sie
bestimmte ’nicht ganz’ zul¨assige Datumswerte speichern, zum Beispiel 1999-11-31. Der
Grund hierf¨ur ist, dass wir meinen, dass es in der Verantwortung der Applikation liegt,
Datums¨ub erpr¨ufungen vorzunehmen, und nicht beim SQL-Server. Um Datumspr¨ufungen
’schnell’ zu machen, ¨uberpr¨uft MySQL nur, dass der Monat im Bereich 0 bis 12 liegt und
der Tag im Bereich 0 bis 31. Diese Bereiche sind deshalb so definiert, weil es MySQL zul¨aßt,
dass Sie in einer DATE- o der DATETIME-Spalte Datumsangaben speichern, bei denen der Tag
oder Monat-Tag 0 sind. Das ist extrem n¨utzlich f¨ur Applikationen, die einen Geburtstag
speichern m¨ussen, dessen exaktes Datum unbekannt ist. In diesem Fall onnen Sie einfach
Datumsangaben wie 1999-00-00 oder 1999-01-00 speichern. (Sie onnen nicht erwarten,
von Funktionen wie DATE_SUB() oder DATE_ADD f¨ur solche Datumsangaben korrekte Werte
zu erhalten.)
Einige allgemeine
¨
Uberlegungen, die man im Kopf behalten sollte, wenn man mit Datums-
und Zeit-Typen arbeitet:
MySQL ruft Werte f¨ur einen gegebenen Datums- oder Zeit-Typ in einem Standard-
Format ab, versucht aber, eine Vielzahl von Formaten zu interpretieren, die Sie bereit
stellen (wenn Sie zum Beispiel einen Wert angeben, der zugewiesen oder mit einem
Datums- oder Zeit-Typ verglichen werden soll). Dennoch werden nur die in den folgen-
den Abschnitten beschriebenen Formate unterst¨utzt. Es wird davon ausgegangen, dass
Sie zul¨assige Werte bereitstellen; und es onnen unvorhersehbare Ergebnisse zustande
kommen, wenn Sie Werte in anderen Formaten angeben.
Obwohl MySQL versucht, Werte in verschiedenen Formaten zu interpretieren, erwartet
er immer, dass der Jahresanteil von Datumswerten ganz links steht. Datumsangaben
Zobrazit stránku 403
1 2 ... 399 400 401 402 403 404 405 406 407 408 409 ... 767 768

Komentáře k této Příručce

Žádné komentáře