Oracle ZOALS

Oracle Zoals



In Oracle en andere relationele databases is patroonvergelijking een populaire functie waarmee u kunt zoeken naar tekenreekspatronen met behulp van speciale syntaxis. U kunt bijvoorbeeld zoeken naar een subtekenreeks binnen een grote reeks tekenreeksen met behulp van operatoren en functies die overeenkomen met patronen.

Dit maakt het erg handig voor het bouwen van eenvoudige zoekclausules zonder aanzienlijke prestatiebeperkingen op de database op te lopen.







In deze zelfstudie komt u de LIKE-operator in Oracle tegen om patroonvergelijkingsquery's uit te voeren.



Oracle LIKE-operator

Met de LIKE-operator in Oracle kunt u zoeken naar een specifiek patroon in een bepaalde kolom. U kunt het bijvoorbeeld gebruiken om alle rijen te vinden waar de voornaam van een klant begint met het patroon 'Ja'.



Deze operator wordt vaak gebruikt in combinatie met andere SQL-clausules, zoals de WHERE-component, om onze resultaten te filteren op basis van een specifiek patroon.





We kunnen de syntaxis van de LIKE-operator in SQL uitdrukken, zoals hieronder weergegeven:

expressie LIKE patroon [ ONTSNAPPEN 'escape_character' ]



  1. De uitdrukkingsparameter specificeert de kolom die u wilt doorzoeken.
  2. De patroonparameter definieert het specifieke patroon waarnaar u wilt zoeken. Het opgegeven patroon kan jokertekens zoals % en _ bevatten om overeen te komen met een willekeurig aantal tekens of een enkel teken.
  3. We kunnen ook de ESCAPE-clausule opnemen om een ​​escape-teken op te geven dat wordt gebruikt om te zoeken naar de eigenlijke jokertekens.

Voorbeelden van Oracle LIKE-operators

De volgende voorbeelden laten zien hoe u de LIKE-operator gebruikt in een Oracle-tabel.

Stel dat we een tabel hebben met klantinformatie zoals hieronder weergegeven:

Voorbeeld 1 – De % Jokertekens gebruiken

We kunnen de % jokertekens gebruiken om elke reeks van nul of meer tekens te matchen. We kunnen bijvoorbeeld alle items vinden in een tabel met de naam 'Will%'.

Neem de onderstaande werknemerstabel:

selecteren voornaam, achternaam, salaris
van WERKNEMERS
waar FIRST_NAME graag 'Zullen%'
bestellen op voornaam;

De vorige query selecteert de kolommen voornaam, achternaam en salaris uit de werknemerstabel en rangschikt de resulterende waarden op de kolom voornaam.

We combineren ook een where-clausule in combinatie met een LIKE-operator met de % jokertekens om alleen de rijen op te halen waar de voornaam begint met 'Will'.

Dit zou de rijen moeten retourneren als:

We kunnen ook het jokerteken % gebruiken om de rijen op te halen die eindigen op een specifiek patroon.

Een voorbeeld is hieronder weergegeven:

selecteren voornaam, achternaam, salaris
van WERKNEMERS
waar FIRST_NAME graag '%is'
bestellen op voornaam;

In dit geval zou de vorige query alle rijen moeten retourneren waar de voornaam eindigt op 'er'. Een voorbeeld van een resulterende waarde wordt hieronder weergegeven:

De LIKE-operator van de Oracle-database is standaard hoofdlettergevoelig, dus het is essentieel om hier rekening mee te houden bij het zoeken naar specifieke patronen. U kunt andere functies gebruiken, zoals onder en boven, om dit gedrag teniet te doen.

Voorbeeld 2 - Gebruik van de ontsnappingsclausule

Het volgende voorbeeld laat zien hoe u de ESCAPE-component in de Oracle LIKE-operator gebruikt:

selecteren voornaam, achternaam, salaris, commissie_pct
van WERKNEMERS
waar commissie_pct zoals 'twintig\%' ontsnappen '\' ;

De vorige query selecteert de kolommen voornaam, achternaam, salaris en commissie_pct uit de tabel EMPLOYEES. De WHERE-component gebruikt de LIKE-operator met de ESCAPE-component om de records op te halen waarvan de kolom commission_pct de tekenreeks '20%' bevat (met een letterlijk %-teken, geen jokerteken).

In dit geval ontsnappen we het %-teken met een backslash (\)-teken bij het zoeken naar de tekenreeks 20%. Hierdoor kan de LIKE-operator zoeken naar de exacte tekenreeks '20%' in plaats van het %-teken als een jokerteken te behandelen.

Deze query retourneert alle rijen uit de tabel WERKNEMERS waar de kolom commissie_pct de exacte tekenreeks '20%' bevat, samen met de kolommen voornaam, achternaam en salaris voor die rijen.

Gevolgtrekking

In dit bericht heb je geleerd hoe je de LIKE-operator in Oracle-databases kunt gebruiken om naar specifieke patronen in een tabel te zoeken. Er worden verschillende voorbeelden gegeven om het gebruik van jokertekens en de ESCAPE-clausule te markeren.