phpbar.de logo

Mailinglisten-Archive

[Otimierung] mit Datetime / Timestamp

[Otimierung] mit Datetime / Timestamp

Michael Ott webmaster at michael-ott.org
Mit Mai 26 18:26:03 CEST 2004


Mysql interpretiert eine zweistellige Jahreszahl nach folgender Regel:

Jahreswerte im Bereich 00 bis 69 werden in 2000 bis 2069 umgewandelt.
Jahreswerte im Bereich 70 bis 99 werden in 1970 bis 1999 umgewandelt.

Dies dürfte deine 2000 erklären

Gruß Michael
----- Original Message -----
From: "thE_iNviNciblE" <the_invincible at gmx.de>
To: <mysql-de at lists.4t2.com>
Sent: Saturday, May 08, 2004 4:15 PM
Subject: Re: [Otimierung] mit Datetime / Timestamp


> Danke,
>
> es funktioniert ja so wie ich das gepostet habe... hätte mich halt nur
> interesiert ob das geht, weil in PHPmyAdmin hat man ja die Möglichkeit
> das per Hand umzustellen...
>
> mich hat nur etwas irritiert:
> http://dev.mysql.com/doc/mysql/de/DATETIME.html
>
> <quote>
> Das Format, in dem MySQL TIMESTAMP-Werte abruft und anzeigt, hängt von
> der Anzeigebreite ab, wie in der obigen Tabelle dargestellt. Das `volle'
> TIMESTAMP-Format ist 14 Ziffern, aber TIMESTAMP-Spalten können mit
> kürzeren Anzeigebreiten angelegt werden:
> Spaltentyp Anzeigeformat
> TIMESTAMP(14) YYYYMMDDHHMMSS
> TIMESTAMP(12) YYMMDDHHMMSS
> TIMESTAMP(10) YYMMDDHHMM <<<--- das wäre doch richtig gewesen?
> TIMESTAMP(8) YYYYMMDD
> TIMESTAMP(6) YYMMDD
> TIMESTAMP(4) YYMM
> TIMESTAMP(2) YY
>
> Alle TIMESTAMP-Spalten haben dieselbe Speichergröße, unabhängig von der
> Anzeigebreite. Die gebräuchlichsten Anzeigebreiten sind 6, 8, 12 und 14.
> Sie können zur Zeit der Tabellenerzeugung beliebige Anzeigebreiten
> festlegen, aber Werte von 0 oder größer als 14 werden auf 14 gesetzt.
> Ungerade Werte im Bereich von 1 bis 13 werden auf die nächst höhere
> gerade Zahl gesetzt.
> </quote>
>
>
>    MfG thE_iNviNciblE
>    ------------------
>    Wissen ist Macht
>
> Freie Meinung: http://www.your-mind-is-free.de.vu
> IT-Security  : http://www.kid2elite.de.vu
> IT-Forum     : http://www.security-focus.de.vu
>
>
> Michael Ott wrote:
> > Hatte das hier vergessen:
> > http://www.mysql.de/doc/de/DATETIME.html
> >
> > Mysql erwartet die Zeit immer als (YY)YYMMDD, du musst also dafür
sorgen,
> > dass sie so ankommen, ungültige Werte werden bekanntermaßen in 0
> > umgewandelt.
> >
> >
> > Gruß Michael
> >
> > ----- Original Message -----
> > From: "Michael Ott" <webmaster at michael-ott.org>
> > To: <mysql-de at lists.4t2.com>
> > Sent: Saturday, May 08, 2004 3:20 PM
> > Subject: Re: [Otimierung] mit Datetime / Timestamp
> >
> >
> >
> >>http://www.mysql.de/doc/de/Using_DATE.html
> >>"Das Format eines DATE-Werts ist 'YYYY-MM-DD'. Gemäß ANSI-SQL ist kein
> >>anderes Format zulässig. "
> >>
> >>
> >>
> >>Gruß Michael
> >>
> >>
> >>----- Original Message -----
> >>From: "thE_iNviNciblE" <the_invincible at gmx.de>
> >>To: <mysql-de at lists.4t2.com>
> >>Sent: Saturday, May 08, 2004 2:52 PM
> >>Subject: [Otimierung] mit Datetime / Timestamp
> >>
> >>
> >>
> >>>Hallo Liste,
> >>>
> >>>ich habe folgendes Problem:
> >>>
> >>>- habe eine mySQL Tabelle in der eine Spalte vom Typ Datetime ist!
> >>>
> >>>habe aber leider nur daten die 11.05.04 19:38:11 vorliegen...
> >>>
> >>>DateTime erfordert aber DATETIME '0000-00-00 00:00:00' diese
> >>
> >>Datenstruktur.
> >>
> >>>früher habe ich diese Funktion genohmen um ein Deutsches Datum zu einem
> >>>Englischen zu konvertieren....
> >>>
> >>>dafür muss ich hier aber per exlpode() anhand der leerstelle " "
> >>>zwischen Datum und Uhrzeit den String Trennen um das Datum getrennt
> >>>aufzubereiten...
> >>>
> >>>----- cut ----
> >>>function date_german2mysql($datum)
> >>>{
> >>>     list($tag, $monat, $jahr) = explode(".", $datum);
> >>>     return sprintf("%04d-%02d-%02d", $jahr, $monat, $tag);
> >>>}
> >>>-----------------
> >>>
> >>>würde hier auch gehen, wenn ich 11.05.04 per explode() anhand des .
> >>>trenne und dann aus der 04 -> 2004 mache...
> >>>
> >>>----- cut ---
> >>>$eBay = explode (" ",$eBay_Ende);
> >>>$eBay_datum_ex = explode(".",$eBay[0]);
> >>>$eBay_datum_ges =
> >>>$eBay_datum_ex[0].".".$eBay_datum_ex[1].".20".$eBay_datum_ex[2];
> >>>
> >>>$eBay_datum = date_german2mysql($eBay_datum_ges);
> >>>
> >>>$eBay_datum = $eBay_datum." ".$eBay[1];
> >>>
> >>># langes datum...
> >>>echo $eBay_datum;
> >>>--------------
> >>>
> >>>geht das nich auch leichter ?? indem ich mySQL irgendwie sage das die
> >>>struktur 00-00-00 00:00:00 ist ? Wenn ich das probiere erstellt er mir
> >>>gleich "2000-00-00 00:00:00"...
> >>>
> >>>Danke...
> >>>--
> >>>   MfG thE_iNviNciblE
> >>>   ------------------
> >>>   Wissen ist Macht
> >>>
> >>>Freie Meinung: http://www.your-mind-is-free.de.vu
> >>>IT-Security  : http://www.kid2elite.de.vu
> >>>IT-Forum     : http://www.security-focus.de.vu
> >>>
> >>>--
> >>>Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> >>>-->>  http://www.4t2.com/mysql
> >>>
> >>
> >>
> >>--
> >>Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> >>-->>  http://www.4t2.com/mysql
> >>
> >
> >
> >
>
> --
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->>  http://www.4t2.com/mysql
>



php::bar PHP Wiki   -   Listenarchive