beste Datumstyp?
Andy
- datenbank
0 Vinzenz Mai0 seppel0 Tillmann
Hallo liebe Freunde.
Ich bastel gerade an einer kleinen Hompage und hab ein problem.
ich überlege gerade in welcher form ich am besten ein eingegebenes Datum speichere.
z.B: 12:31 17.12.2007
Dazu sollte man wissen was ich damit anfangen möchte.
ZIEL:
Der benutzer gibt dieses Datum ein und möchte zwei wochen vorher daran erinnert werden.
Daher brauch ich etwas wie: aktuelle Datum+ 2Wochen <= gespeicherte Wert?
Ich realisere das gerade mit dem timestamp.
Ich wandel das gespeicherte und das aktuelle datum in Timestamps um z.B.: 1197846000 und arbeite mit der differenz.
Zentralle Frage:
1. Gibt es einen einfacheren Weg über ein SQL abfrage?
Welches Format nimmt man dann am besten? Date oder Datetime?
ich hoffe ihr könnt mir helfen.
Hallo Andy,
ich überlege gerade in welcher form ich am besten ein eingegebenes Datum speichere.
z.B: 12:31 17.12.2007
Der benutzer gibt dieses Datum ein und möchte zwei wochen vorher daran erinnert werden.
Du benötigst also keinen automagischen Zauber?
Ich realisere das gerade mit dem timestamp.
Ich wandel das gespeicherte und das aktuelle datum in Timestamps um z.B.: 1197846000 und arbeite mit der differenz.
Das halte ich persönlich für eine schlechte Idee. Dein Datenbankmanagementsystem (DBMS) bietet bestimmt Datums- und Zeittypen. Diese sind für solche Angaben gemacht. Nutze sie. Es gibt auch wunderbare Funktionen für Datums- und Zeitberechnungen, die auf Datumstypen abgestimmt sind. Nutze auch diese. Welche es gibt, das hängt von Deinem DBMS und dessen Version ab.
Welches Format nimmt man dann am besten? Date oder Datetime?
Benötigst Du die Uhrzeit? Wenn ja, nimm DATETIME. Wenn nein, nimm DATE.
Freundliche Grüße
Vinzenz
Hola,
Zentralle Frage:
- Gibt es einen einfacheren Weg über ein SQL abfrage?
ja, kommt ein wenig auf das DBMS an (MySQL, Oracle, Sybase, etc.)...aber grundsätzlich gibt es überall die Möglichkeit sowas wie: DateAdd(d, interval, mydate) abzusetzen - in deinem Fall: DateAdd(wk, 2, eingabedatum). Hier würden 2 Wochen auf dein Datum aufgeschlagen...Du kannst auch damit in einem SQL vergleichen:
Select *
from tab
where getdate() = dateadd(wk, 2, mydate)
oder so etwas in der Art. Für die Syntax guckst du am besten in einer Referenz zu deier DB...
Welches Format nimmt man dann am besten? Date oder Datetime?
spielt für solche berechnungen nicht wirklich eine Rolle, aber ich würde immer DateTime nehmen - ist genauer und du lässt dir die Möglichkeit offen, die Zeit für irgendwas anderes mit ins Spiel zu bringen.
Gruss,
Seppel
Hallo spamistdoof,
ich überlege gerade in welcher form ich am besten ein eingegebenes Datum speichere.
Das kannst Du getrost Deiner Datenbank überlassen ...
Ich realisere das gerade mit dem timestamp.
Ich wandel das gespeicherte und das aktuelle datum in Timestamps um z.B.: 1197846000 und arbeite mit der differenz.
Urgh. ;)
Zentralle Frage:
- Gibt es einen einfacheren Weg über ein SQL abfrage?
2.? 3.?
Schau Dir am besten einfach mal die MySQL (?) Doku dazu an, dort steht alles bereits geschrieben. Kapitel "Datums- und Zeitfunktionen" und "Datums- und Zeittypen".
Cheers,
Tillmann