sql >> Database >  >> RDS >> Oracle

Zoekcriteria verschil tussen Like vs Bevat() in oracle

LIKE en CONTAINS zijn fundamenteel verschillende zoekmethoden.

LIKE is een zeer eenvoudige tekenreekspatroon-matcher - het herkent twee jokertekens (%) en (_) die respectievelijk overeenkomen met nul of meer of precies één teken. In uw geval komt %a%e% overeen met twee records in uw tabel - het zoekt naar nul of meer tekens gevolgd door a , gevolgd door nul of meer tekens gevolgd door e , gevolgd door nul of meer tekens. Het is ook erg simplistisch in zijn retourwaarde:het geeft ofwel "overeenkomend" of "niet overeenkomend" terug - geen grijstinten.

CONTAINS is een krachtige zoektool die gebruikmaakt van een contextindex, die een soort woordboom opbouwt die kan worden doorzocht met behulp van de zoeksyntaxis CONTAINS. Het kan worden gebruikt om te zoeken naar een enkel woord, een combinatie van woorden, en heeft een rijke eigen syntaxis, zoals booleaanse operatoren (AND, NEAR, ACCUM). Het is ook krachtiger omdat het een "score" retourneert, in plaats van een simpele "matched" of "not matched" terug te geven, die kan worden gebruikt om resultaten in volgorde van relevantie te rangschikken; bijv. BEVAT(col, 'hond BIJ kat') geeft een hogere score voor een document waarin deze twee woorden beide dicht bij elkaar worden gevonden.



  1. Beveiligingsbenaderingen in gegevensmodellering. Deel 4

  2. Toegang krijgen tot Oracle DB in VirtualBox vanuit Host (windows)

  3. Een paar snelle dingen over PASS-feedback

  4. Hoe dynamische kolomnamen te gebruiken in een UPDATE- of SELECT-instructie in een functie?