sql >> Databasteknik >  >> RDS >> Oracle

sökkriterieskillnad mellan Like vs Contains() i oracle

LIKE och CONTAINS är fundamentalt olika metoder för att söka.

LIKE är en mycket enkel strängmönstermatchare - den känner igen två jokertecken (%) och (_) som matchar noll-eller-fler, eller exakt-ett, tecken respektive. I ditt fall matchar %a%e% två poster i din tabell - den letar efter noll eller fler tecken följt av a , följt av noll eller fler tecken följt av e följt av noll eller fler tecken. Det är också mycket förenklat i sitt returvärde:det returnerar antingen "matchad" eller "ej matchad" - inga nyanser av grått.

CONTAINS är ett kraftfullt sökverktyg som använder ett sammanhangsindex, som bygger ett slags ordträd som kan sökas med hjälp av CONTAINS söksyntax. Den kan användas för att söka efter ett enstaka ord, en kombination av ord, och har en rik egen syntax, till exempel booleska operatorer (AND, NEAR, ACCUM). Den är också mer kraftfull genom att istället för att returnera en enkel "matchad" eller "icke matchad", returnerar den en "poäng", som kan användas för att rangordna resultat efter relevans; t.ex. CONTAINS(kol, 'hund NÄRA katt') kommer att returnera en högre poäng för ett dokument där de två orden båda finns nära varandra.



  1. Skapa en SSH-tunnel för MySQL fjärråtkomst

  2. Designa en databas för en jobbportal online

  3. Vad är Oracles datumformateringsmask för tidszoner?

  4. PostgreSQL - Ersätt HTML-entiteter