phpbar.de logo

Mailinglisten-Archive

[php] Timestamps und SQL

[php] Timestamps und SQL

Christoph Reeg reeg_(at)_junetz.de
22 Oct 2000 14:19:58 +0200


Sebastian Bergmann <sb_(at)_phpopentracker.de> writes:

Hallo!

>   In einer Tabelle habe ich ein Feld TIMESTAMP vom Typ varchar(14),

Warum varchar?? int wäre da doch passender, oder nicht?

>   Wie komme ich an alle Einträge meiner Tabelle, deren Timestamp zu einem
> Sonntag oder zu einem Oktober gehört, oder aber zwischen 10:00 und 11:00
> liegt.

Da kannst du dich natürlich der entsprechenden Datumsfunktionen der
Datenbank bedienen. Problem: Sie heißen immer anders -> für jede DB
Script anpassen.
 
>   Wie gehe ich nun am besten vor? Mit einem Feld vom Typ datetime ist mir
> nur bedingt geholfen, da ich an YYYY-MM-DD HH:MM:SS wiederum nicht direkt
> den Wochentag ablesen kann.

datetime ist MySQL.

>   Was ich mir nun überlegt habe, ist folgendes: Ich "breche" das Feld für
> den Timestamp in mehrere Felder auf:
> 
>     year | month | day | weekday | hour | minute | second
>     -----+-------+-----+---------+------+--------+-------
> 
>   Macht so etwas Sinn? Wieviel höher ist die anfallende Datenmenge im
> Vergleich zu einem Feld, in dem nur der Timestamp liegt?

Kannst Du doch auch zusammen rechen (für MySQL):
year  smallint -> 2 bytes
month tinyint  -> 1 byte
day   smallint -> 2 bytes
weekday tinyint ->1 byte
hour  tinyint  -> 1 byte
minute tinyint -> 1 byte
second tinyint -> 1 byte
Summe           : 9 byte

Timestamp      -> 4 bytes

HTH,
Christoph


-- 
Christoph Reeg                                  eMail: reeg_(at)_jugendnetz-ffm.de

Microsoft : Firma in Redmond die (neben Tastaturen) auch das Betriebssysstem
Windows98 herstellt. Siehe auch : Allgemeine Schutzverletzung, schwerer
Ausnahmefehler, Gerätekonflikt ... (Joerg Kalisch)




php::bar PHP Wiki   -   Listenarchive