Direkte AbfrageWenn 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:
Datum==1.3.2000,20:15
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 | |
---|
AUGUST.2005 | 8 (August) | 2005 | | | |
---|
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).
OperatorenDie 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...
Datum>2000
...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:
Datum>=2001
Abfrage nach dem momentanen DatumMit dem Wert "jetzt" kann nach dem momentanen Datum abgefragt werden:
Datum>jetzt
Findet alle Einträge mit einem Datum in der Zukunft.
"Relative" Abfrage nach Vergangenheit und ZukunftAusgehend vom momentanen Datum können Sie nach Zeitpunkten in der Vergangenheit oder Zukunft abfragen:
Datum>-14
Findet alle Einträge die höchstens 14 Tage alt sind.
Datum<+24:00
Findet alle Einträge die maximal 24 Stunden in der Zukunft liegen.
Auch hier erkennt baseportal eine Reihe unterschiedlicher Angaben:
-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 DatumsteilenAbfragen "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...
Datum~=juni
...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.