Databases Reference
In-Depth Information
Beispiel
Liste alle Artikel auf, in deren Name die Zeichenfolge 'Tee' vorkommt.
SELECT artikel_nr, bezeichnung, bestand
FROM artikel
WHERE bezeichnung LIKE '%Tee%';
Die Antwort:
ARTIKEL_NR BEZEICHNUNG BESTAND
========== ==================== ===========
L001 Ceylon-Tee 356
L002 China-Tee 42
Bei der Formulierung der Abfrage muss auf Groß-/Kleinschreibung geachtet wer-
den. Verschiedene DBMS erlauben es aber, die Gleichbehandlung von Groß- und
Kleinbuchstaben über Systemparameter einzustellen.
SIMILAR
Darüber hinaus ist die Suche nach Textmustern - etwa Ziffern im Unterschied zu
Buchstaben oder Texten mit einem bestimmten Format - ein wichtiges Problem.
Der Standard bietet dafür den SIMILAR-Operator an. Die Textmuster werden hier-
bei durch reguläre Ausdrücke beschrieben. Die Syntax ist für UNIX-Kenner relativ
leicht zu verstehen, anderen macht sie mehr Probleme. Die formale Syntax lautet:
ausdruck SIMILAR TO muster_ausdruck
Der muster_ausdruck kann dabei aus mehreren Teilausdrücken bestehen und mit
verschiedenen Platzhaltern versehen werden. Wir geben einige Beispiele, verzich-
ten aber darauf, die Möglichkeiten vollständig aufzuzählen.
artikel_nr SIMILAR TO '(K001) | (G001) | (K003)'
bedeutet, dass wir danach fragen, ob artikel_nr einen der Werte 'K001', 'G001',
'K003' hat. Die einzelnen Werte müssen in Klammern gesetzt werden, der gesamte
Ausdruck ist ein einziger String. 13
Mit [:zeichen_art:] können wir anfordern, dass ein Zeichen aus einer bestimmten
Teilmenge des Zeichensatzes kommt. Die eckigen Klammern und Doppelpunkte
sind syntaktisch vorgeschrieben. Wir können für zeichen_art Folgendes einsetzen:
zeichen_art ::= DIGIT | ALPHA | UPPER | LOWER | ALNUM
In der nämlichen Reihenfolge stehen die Codierungen für Ziffern, Buchstaben,
Großbuchstaben, Kleinbuchstaben, ein beliebiges Ziffern- oder Buchstaben-
zeichen.
13 Man kann dieses Problem auch mit IN lösen, siehe oben.
 
Search WWH ::




Custom Search