Datenbank-Abfragen |
|
Operator | Bedeutung |
---|---|
~= | Suche Wertanfang; Ignoriere Gross/Klein-Schreibung |
== | Suche exakten Wert; Ignoriere Gross/Klein |
~=! | Suche Wertanfang; Beachte Gross/Klein |
==! | Suche exakten Wert; Beachte Gross/Klein |
< <= <> >= > | Suche kleiner, kleinergleich, ungleich, grössergleich, grösser Wert; Ignoriere Gross/Klein |
<! <=! <>! >=! >! | Suche kleiner, kleinergleich, ungleich, grössergleich, grösser Wert; Beachte Gross/Klein |
~<= ~<> ~> | Suche kleinergleich, ungleich, grösser Wertanfang; Ignoriere Gross/Klein |
~<=! ~<>! ~>! | Suche kleinergleich, ungleich, grösser Wertanfang; Beachte Gross/Klein |
~< ~>= ~<! ~>=! | Dasselbe wie < >= <! >=! |
Einige Zeichen als Wert haben eine spezielle Bedeutung:
Zeichen | Bedeutung |
---|---|
* | Passt auf alles. Es werden also alle Einträge ausgegeben, sortiert nach dem angegebenen Feld. |
# | Passt auf den "letzten" Eintrag des angegebenen Felds, z.B. bei den textsortierten Einträgen "a", "b", "c" also das "c". |
? | Passt auf irgendeinen zufälligen Eintrag. Möglich sind die Operatoren "==", "<" und ">". |
_ | Passt auf den leeren Eintrag |
Zeichen | Verknüpfung | Bedeutung |
---|---|---|
& | Und (and) | Nur Einträge die in beiden Teilmengen enthalten sind |
| | Oder (or) | Alle Einträge die in einer der beiden Teilmengen enthalten sind |
° | Nicht (not) | Nur Einträge die in der ersten, nicht aber in der zweiten Teilmenge enthalten sind |
Name~=c
Liefert alle Einträge, bei denen das Feld "Name" mit "c" (gross oder klein) beginnt.
Vorname==andrea
Liefert alle Einträge, bei denen das Feld "Vorname" exakt "andrea" (gross oder klein geschrieben) enthält.
Alter<30&Stadt==!Berlin
Liefert alle Einträge, bei denen das Feld "Alter" kleiner als 30 ist UND das Feld "Stadt" exakt den Wert "Berlin" (mit grossem "B" und kleinem Rest) enthält.
Beruf==Programmierer|Beruf==System-Administrator&PLZ~=1
Liefert alle Einträge, bei denen das Feld "Beruf" die Werte "Programmierer" ODER "System-Administrator" enthalten UND das Feld "PLZ" mit "1" beginnt.
Titel>=!d&Titel<!k°Titel~=!h
Liefert alle Einträge, bei denen das Feld "Titel" mit kleinem "d", "e", "f", "g", "i" oder "j" beginnt.
Id==?
Liefert irgendeinen zufälligen Eintrag.
Name==_
Liefert alle Einträge, bei denen das Feld "Name" leer ist.
Sie können die obigen Abfragen einfach in der URL (Internet-Adresse) verwenden:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/urxi/out1&db=test&Name>t&Strasse~=baum+str
Eine Datenbank-Ausgabe in der Seite "out1" des Nutzers "urxi" erhält alle Einträge der Datenbank "test", bei denen das Feld "Name" mit einem Buchstaben grösser "t" und das Feld "Strasse" mit dem Wert "baum str" anfängt. Beachten Sie, dass ein Leerzeichen in einer URL mit "+" kodiert wird.
Sie können die obigen Abfragen auch als Parameter für baseportal-Tags verwenden:
<do action=all Rubrik==Krimis or Rubrik==Liebesromane not Sprache==Englisch and Vorhanden==1>
Gibt alle Einträge aus, bei denen das Feld "Rubrik" den Wert "Krimis" oder "Liebesromane" enthält, das Feld "Sprache" nicht "Englisch" ist und das Feld "Vorhanden" auf "1" gesetzt ist. Sie können das "and" auch weglassen, da es die Standard-Verknüpfung ist:
<do action=all Firma==Sony Produktart~=tv>
Gibt alle Einträge aus, bei denen das Feld "Firma" den Wert "Sony" und das Feld "Produktart" mit "tv" beginnt.
Bei einigen Zeichen gibt es Probleme, wenn sie Teil einer Abfrage sind, z.B. mit dem Leerzeichen, da dieses die Parameter voneinander trennt oder mit dem Grösserzeichen ">", da dieses als Endekennung für Tags dient. Sie müssen deshalb diese "speziellen" Zeichen in Abfragen kennzeichnen, indem Sie ein sog. Backslash "\" voranstellen:
<loop Name==Hans\ Albers Alter\>18> ... </loop>
Durchläuft alle Einträge aus, deren Name "Hans Albers" und das Alter grösser als 18 ist.
Genauso müssen Sie vorgehen, wenn Sie die spezielle Bedeutung der Abfragewerte *, #, ?, _ aufheben wollen:
<loop Feld==\?> ... </loop>
Holt alle Einträge deren Inhalt tatsächlich ein ? (Fragezeichen) ist und nicht einen zufälligen Eintrag, wie dies bei der Abfrage ohne Maskierung Feld==? erfolgen würde.
Hier erfahren Sie mehr über das Maskieren von Sonderzeichen.