sql >> Database teknologi >  >> RDS >> Oracle

søgekriterieforskel mellem Like vs Contains() i oracle

LIKE og CONTAINS er fundamentalt forskellige metoder til søgning.

LIKE er en meget simpel strengmønstermatcher - den genkender to jokertegn (%) og (_), som matcher henholdsvis nul-eller-flere eller nøjagtigt-et tegn. I dit tilfælde matcher %a%e% to poster i din tabel - den ser efter nul eller flere tegn efterfulgt af a , efterfulgt af nul eller flere tegn efterfulgt af e , efterfulgt af nul eller flere tegn. Den er også meget forenklet i sin returværdi:den returnerer enten "matchet" eller "ikke matchet" - ingen gråtoner.

CONTAINS er et kraftfuldt søgeværktøj, der bruger et kontekstindeks, som bygger en slags ordtræ, som kan søges ved hjælp af CONTAINS søgesyntaksen. Den kan bruges til at søge efter et enkelt ord, en kombination af ord, og den har sin egen rig syntaks, såsom booleske operatorer (AND, NEAR, ACCUM). Det er også mere kraftfuldt, idet det i stedet for at returnere en simpel "matchet" eller "ikke matchet", returnerer en "score", som kan bruges til at rangordne resultater i rækkefølge efter relevans; for eksempel. CONTAINS(col, 'hund NÆR kat') vil returnere en højere score for et dokument, hvor de to ord begge findes tæt sammen.



  1. Sådan downloader og installerer du SQLite-værktøjer

  2. Hvilken er hurtigst? VÆLG SQL_CALC_FOUND_ROWS FRA `tabel`, eller VÆLG COUNT(*)

  3. T-SQL Dynamic SQL og Temp-tabeller

  4. hvordan man ændrer dato til tid i oracle 10g