LIKE

<kenttä tai merkkijono> LIKE <merkkijono2>

Merkkijonojen kohdalla voidaan tehdä hakuja myös osittain täsmäävillä arvoilla. Tämä tapahtuu operaattorilla LIKE ja varaamalla kaksi erikoismerkkiä normaalista poikkeavaan käyttöön.

Haetaan niiden opiskelijoiden sukunimet, joiden nimi alkaa K-kirjaimella:

SELECT sukunimiFROM Opiskelija

WHERE sukunimi LIKE 'K%';

SUKUNIMI ------------
Kielinero 
Kirjailija 
Kasvattaja 
3 record(s) selected.

Haetaan niiden opiskelijoiden sukunimet, joiden nimi loppuu –nen:

SELECT sukunimiFROM Opiskelija

WHERE sukunimi LIKE '%nen';

SUKUNIMI ------------
Lahtonen 
Heinonen 
2 record(s) selected.

Haetaan niiden opiskelijoiden sukunimet ja etunimet, joiden etunimi on mikä tahansa viisi merkkiä pitkä nimi:

SELECT sukunimi, etunimiFROM Opiskelija
WHERE etunimi LIKE '_____' -- viisi (5) kappaletta alaviivoja

SUKUNIMI ETUNIMI------------ -------
Lahtonen Tommi 
Heinonen Petri 
Tieteilijä Teemu 
Tieteilijä Taina 
Kielinero Kaisa 
Kirjailija Keijo 
Kasvattaja Kimmo 
7 record(s) selected.

Joissakin ohjelmistoissa käytetään asteriskia (*) prosenttimerkin (%)-merkin sijaan ja kysymysmerkkiä (?)-merkkiä alleviivausmerkin (_)-merkin sijaan (kuten Microsoft Access).

Jos halutaan erityisesti hakea % tai _ merkkejä niin pitää määritellä jokin merkki jolla voidaan ilmaista että halutaan käsitellä % tai _ -merkkejä niiden literaalisessa merkityksessä. Tämä onnistuu ESCAPE-määreellä. Eli jos haluamme etsiä merkkijonot joissa esiintyy %-merkkejä joudumme tekemään haun tavallista =-operaattoria käyttäen. LIKE-operaattorin yhteydessä joudumme laittamaan jonkun ESCAPE-määreellä kerrotun merkin kaikkien % tai _ -merkkien eteen jos haluamme että kyseisessä kohdassa merkkijonoa pitää olla juuri % tai _ -merkki eikä mitä tahansa merkkejä.

Haetaan niiden sukunimet ja etunimet, joiden etunimi alkaa %-merkillä ja loppuu _-merkkiin. Käytetään ESCAPE-merkkinä !-merkkiä

SELECT sukunimi, etunimiFROM Opiskelija
WHERE etunimi LIKE '!%%!_' ESCAPE '!';

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/doc/tiedonhallinta/sql/dml/index7.html
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2004-11-05 15:24:30
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto