PythonQ 240-8XX Manual de usuario Pagina 408

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 407
Kapitel 7: MySQL-Sprachreferenz 387
weniger als 10 sind. ’1979-6-9’ ist dasselbe wie ’1979-06-09’. Gleichermaßen ist es bei
Zeichenketten, die Begrenzer f¨ur Zeitanteile enthalten, nicht notwendig, zwei Ziffern f¨ur
Stunden-, Monats- oder Sekundenwerte anzugeben, die weniger als 10 sind. ’1979-10-30
1:2:3’ ist dasselbe wie ’1979-10-30 01:02:03’.
Werte, die als Zahlen angegeben sind, sollten 6, 8, 12 oder 14 Ziffern lang sein. Wenn
die Zahl 8 oder 14 Ziffern lang ist, wird angenommen, dass sie im YYYYMMDD- oder
YYYYMMDDHHMMSS-Format ist und dass das Jahr durch die ersten 4 Ziffern angegeben wird.
Wenn die Zahl 6 oder 12 Ziffern lang ist, wird angenommen, dass sie im YYMMDD- oder
YYMMDDHHMMSS-Format ist und dass das Jahr durch die ersten 2 Ziffern angegeben wird.
Zahlen, die nicht diesen angen entsprechen, werden interpretiert, als ob sie mit f¨uhrenden
Nullen auf die achst ogliche ange gebracht worden aren.
Werte, die als nicht begrenzte Zeichenketten angegeben werden, werden interpretiert, indem
ihre ange als gegeben angenommen wird. Wenn die Zeichenkette 8 oder 14 Zeichen lang
ist, wird angenommen, dass das Jahr durch die ersten 4 Zeichen angegeben wird. Ansonsten
wird angenommen, dass das Jahr durch die ersten 2 Zeichen angegeben wird. Die Zeichen-
kette wird von links nach rechts interpretiert, um die Jahres-, Monats-, Tages-, Stunden-
und Sekundenwerte zu finden, f¨ur so viele Anteile, wie in der Zeichenkette vorkommen. Das
bedeutet, dass Sie keine Zeichenketten benutzen sollten, die weniger als 6 Zeichen haben.
Wenn Sie zum Beispiel ’9903’ angeben, in der Annahme, dass das arz 1999 darstellt,
werden Sie feststellen, dass MySQL einen “0”-Datumswert in Ihre Tabelle einf¨ugt. Das liegt
daran, dass die Jahres- und Monatswerte 99 und 03 sind, aber der Tagesanteil fehlt (0), so
dass der Wert kein zul¨assiges Datum darstellt.
TIMESTAMP-Spalten speichern zul¨assige Werte mit der vollen Genauigkeit, mit der der Wert
angegeben wurde, unabh¨angig von der Anzeigebreite. Das hat mehrere Auswirkungen:
Geben Sie immer Jahr, Monat und Tag an, selbst wenn Ihre Spaltentypen
TIMESTAMP(4) oder TIMESTAMP(2) sind. Ansonsten are der Wert kein zul¨assiges
Datum und 0 w¨urde gespeichert werden.
Wenn Sie ALTER TABLE benutzen, um eine enge TIMESTAMP-Spalte breiter zu machen,
werden Informationen angezeigt, die vorher “versteckt” waren.
Gleichermaßen f ¨uhrt das Verengen einer TIMESTAMP-Spalte nicht dazu, dass Informatio-
nen verloren gehen, ausser in dem Sinn, dass weniger Informationen dargestellt werden,
wenn die Werte angezeigt werden.
Obwohl TIMESTAMP-Werte mit voller Genauigkeit gespeichert werden, ist die einzige
Funktion, die direkt mit dem zugrunde liegenden gespeicherten Wert arbeitet, UNIX_
TIMESTAMP(). Alle anderen Funktionen arbeiten mit dem formatierten, a/jointfilesconvert/293675/bgerufenen
Wert. Das bedeutet, Sie onnen keine Funktionen wie HOUR() oder SECOND() benutzen,
wenn nicht auch der relevante Teil des TIMESTAMP-Werts im formatierten Werte enthal-
ten ist. Wenn zum Beispiel der HH-Teil einer TIMESTAMP-Spalte nicht angezeigt wird,
wenn die Anzeigebreite nicht mindestens 10 betr¨agt, wird der Versuch, HOUR() auf
k¨urzere TIMESTAMP-Werte anzuwenden, unsinnige Ergebnisse erzeugen.
Bis zu einem gewissen Grad onnen Sie einem Objekt eines Datumstyp Werte eines anderen
Datumstyps zuweisen. Jedoch kann eine
¨
Anderung des Wertes oder ein Informationsverlust
eintreten:
Vista de pagina 407
1 2 ... 403 404 405 406 407 408 409 410 411 412 413 ... 767 768

Comentarios a estos manuales

Sin comentarios