In Oracle kann das Schlüsselwort „like“ mit der where-Klausel verwendet werden, um Fuzzy-Abfrageeffekte zu erzielen. Es kann mit Platzhaltern verwendet werden, um Ausdrucksbedingungen einzuschränken. Die Syntax lautet „SELECT*FROM user WHERE uname LIKE wildcard“.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.
(1)%: null oder mehr Zeichen, es gibt drei Situationen, wenn %
Feld wie „%“ verwendet wird. Das Feld „keyword%“ enthält das „keyword“ „Datensätze
feldartige Datensätze, deren Feld „keyword%“ mit „keyword“ beginnt
feldartige Datensätze, deren Feld „%keyword“ mit „keyword“ endet
Beispiel:
SELECT * FROM [user] WHERE uname LIKE ‘%三%’
Suchergebnisse: „ Finden Sie alle Datensätze mit „drei“ in „Zhang San“, „Xiao San“, „Dreibeinige Katze“, „Katze mit drei Beinen“.
SELECT * FROM [user] WHERE uname LIKE ‘%三’ (从后开始匹配)
Suchergebnisse: „Zhang San“, „Xiao San“
Wenn Sie außerdem Datensätze mit „三“ und „cat“ in uname suchen müssen, verwenden Sie bitte die Und-Bedingung
SELECT *FROM [user] WHERE uname LIKE ‘%三%’ AND uname LIKE ‘%猫%’
Wenn Sie SELECT verwenden * FROM [ user] WHERE uname LIKE '%三%cat%' kann zwar nach „Katze mit drei Beinen“ suchen, nicht aber nach „Katze mit drei Beinen“.
(2)_: Jedes einzelne Zeichen (Unterstrich) wird oft verwendet, um die Zeichenlänge von Ausdrücken zu begrenzen:
Beispiel:
SELECT * FROM [user] WHERE uname LIKE ‘三’
Suchergebnisse: „Katze mit drei Beinen“, also besteht uname aus drei Zeichen und das mittlere ist „三“ ;
SELECT * FROM [user] WHERE uname LIKE ‘三__’;
Suchergebnisse: „Dreibeinige Katze“, sodass uname aus drei Zeichen besteht und das erste „三“ ist;
(3)[]: Zeichen innerhalb eines bestimmten Bereichs, der die in Klammern aufgeführten Zeichen angibt einer von (ähnlich regulären Ausdrücken). Geben Sie ein Zeichen, eine Zeichenfolge oder einen Bereich an, wobei das übereinstimmende Objekt eines davon sein muss.
Beispiel:
SELECT * FROM [user] WHERE u_name LIKE ‘[张李王]三’
Suchergebnisse: „Zhang San“, „Li San“, „Wang San“ (anstelle von „Zhang Li Wang San“);
Zum Beispiel enthält [ ] eine Reihe von Zeichen (01234, abcde usw.) kann als „0-4“, „a-e“ abgekürzt werden
SELECT * FROM [user] WHERE u_name LIKE ‘老[1-9]’
Suchergebnisse: „Alt 1“, „Alt 2“,..., „Alt 9“ (4) [^ ]: Nicht verfügbar. Die Verwendung von Zeichen innerhalb eines bestimmten Bereichs ist das Gegenteil von [ ].
2. Die Funktion instr(strSource, strTarget) wird in Oracle bereitgestellt, was viel effizienter ist als die Verwendung des Modus „% keyword%“. Die
instr-Funktion hat auch drei Situationen:
instr(field,'keyword')>0 entspricht einem Feld wie „%keyword%“
instr(field,'keyword')=1 entspricht einem Feld wie „ Keyword%'
instr(field,'keyword')=0 entspricht einem Feld im Gegensatz zu '%keyword%'
Beispiel:
SELECT * FROM [user] WHEREinstr(uname ,’三’)>0
Für die Verwendung siehe bitte oben.
Besondere Verwendung:
select id, namefrom user where instr(‘101914, 104703’, id) > 0;
It entspricht
select id, namefrom user where id = 101914 or id = 104703;
Empfohlenes Tutorial: „
Oracle Video Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von „like' in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!