Direkte Abfrage
Wenn Sie die Abfrage selbst kontrollieren, also z.B. in einem
"loop"-Tag, beim "get"-Befehl oder über die URL, so
ist die zweite Art der Angabe wesentlich bequemer:
baseportal ist schlau genug, die verschiedenen Angaben bestmöglich zu
erkennen. Hier eine Reihe von Beispielen:
Abfrage |
Tag |
Monat |
Jahr |
Stunde |
Minute |
Sekunde |
1.Juni.2000,23:45.09 |
1 |
6 (Juni) |
2000 |
23 |
45 |
09 |
1.12.2000,23:45 |
1 |
12 (Dezember) |
2000 |
23 |
45 |
|
01.06.02,1:00 |
1 |
6 (Juni) |
2002 |
01 |
00 |
|
5.mar.2000 |
5 |
3 (März) |
2000 |
|
|
|
02.märz.01 |
2 |
3 (März) |
2001 |
|
|
|
12:57 |
|
|
|
12 |
57 |
|
AUGUST.2005 |
|
8 (August) |
2005 |
|
|
|
3.7 |
3 |
7 (Juli) |
|
|
|
|
nov |
|
11 (November) |
|
|
|
|
10 |
|
|
|
10 |
|
|
Wichtig sind die Trennzeichen: Der Punkt "." (trennt Tag,
Monat und Jahr, sowie Minute und Sekunde), das Komma "," (trennt
Datum und Zeit) und der Doppelpunkt ":" (trennt Stunde und
Minute).
Operatoren
Die Operatoren ~= und == sind gleich bedeutend.
Während das <-Zeichen genauso arbeitet, wie man es sich vorstellt,
hat das >-Zeichen eine auf den ersten Blick andere Wirkung: Die
Abfrage...
...führt nicht dazu, dass alle Einträge ab (und
einschliesslich) dem Jahr 2001 ausgegeben werden, sondern alle Einträge
ab der ersten Sekunde im Jahr 2000. Zum gewünschten Ergebnis
führt folgende Abfrage:
Abfrage nach dem momentanen Datum
Mit dem Wert "jetzt" kann nach dem momentanen Datum abgefragt
werden:
Findet alle Einträge mit einem Datum in der Zukunft.
"Relative" Abfrage nach Vergangenheit und Zukunft
Ausgehend vom momentanen Datum können Sie nach Zeitpunkten in der
Vergangenheit oder Zukunft abfragen:
Findet alle Einträge die höchstens 14 Tage alt sind.
Findet alle Einträge die maximal 24 Stunden in der Zukunft liegen.
Auch hier erkennt baseportal eine Reihe unterschiedlicher Angaben:
Abfrage |
Bedeutung |
-7,3:12.11 |
7 Tage, 3 Stunden, 12 Minuten und
11 Sekunden in der Vergangenheit |
+100 |
100 Tage in der Zukunft |
-14:00 |
14 Stunden in der Vergangenheit |
+.31536000 |
31536000 Sekunden in der Zukunft
(=365 Tage) |
Wichtig sind wieder die Trennzeichen: Der Punkt "." (trennt
Minute und Sekunde), das Komma "," (trennt Tag und Zeit) und der
Doppelpunkt ":" (trennt Stunde und Minute).
Achtung: Wenn Sie eine Abfrage, die ein "+"-Zeichen
enthält über die URL machen, müssen Sie dieses mit "%2b"
umschreiben, da "+"-Zeichen in der URL sonst für Leerzeichen
stehen. Eine komplette Abfrage über die URL könnte z.B. so aussehen:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/name/seite&Datum>-10&Datum<%2b10 |
Abfragen nach Datumsteilen
Abfragen "in die Mitte" eines Datums sind nicht möglich, da
dieses immer von "oben" her bearbeitet wird. Die Reihenfolge
ist:
Jahr.Monat.Tag,Stunde:Minute.Sekunde |
In einem "normalen" Datumsfeld können Sie also nicht
einfach alle Einträge mit dem Monat "Juni" egal in welchem
Jahr ausgeben lassen. Ein Abfrage wie...
...ist dennoch möglich - sie liefert jedoch alle Einträge mit Monat
"Juni" des aktuellen Jahres.
Sie können diese Beschränkung jedoch bewusst umgehen, indem Sie
eigene Formate definieren.