SQL-mallien vastaavuus antaa sinun etsiä malleja tiedoista, jos et tiedä tarkkaa sanaa tai ilmausta, jota etsit. Tällainen SQL kysely käyttää jokerimerkkejä vastaamaan kuviota sen sijaan, että se määrittäisi tarkasti. Voit esimerkiksi käyttää yleismerkkiä "C%" sovittamaan kaikki merkkijonot, jotka alkavat isolla C: llä.
LIKE-operaattorin käyttö
Jos haluat käyttää jokerimerkkilauseketta SQL-kyselyssä, käytä LIKE-operaattoria WHERE-lauseessa ja liitä malli yksittäisiin lainausmerkeihin.
% -Merkkimerkin käyttäminen yksinkertaisen haun suorittamiseen
Jos haluat etsiä tietokannastasi työntekijää, jonka sukunimi alkaa kirjaimella C, käytä seuraavaa Transact-SQL-käskyä:
VALITSE *
Työntekijöiltä
WHERE sukunimi LIKE 'C%'
Kuvioiden jättäminen käyttämättä NOT-avainsanaa
Käytä EI-avainsanaa valitaksesi tietueet, jotka eivät vastaa mallia. Esimerkiksi tämä kysely palauttaa kaikki tietueet, joiden nimen viimeksi tehdään ei aloita kirjaimella C:
VALITSE *
Työntekijöiltä
WHERE sukunimi EI TULE 'C%'
Kuvion sovittaminen missä tahansa% -merkkimerkin avulla kahdesti
Käytä kahta % jokerimerkki vastaamaan tiettyä kuviota missä tahansa. Tämä esimerkki palauttaa kaikki tietueet, joissa on C missä tahansa sukunimessä:
VALITSE *
Työntekijöiltä
WHERE sukunimi LIKE% C%
Kuvio-osuman etsiminen tietystä sijainnista
Käytä _ jokerimerkki tietojen palauttamiseksi tietyssä paikassa. Tämä esimerkki sopii vain, jos C esiintyy sukunimen sarakkeen kolmannessa kohdassa:
VALITSE *
Työntekijöiltä
WHERE sukunimi LIKE '_ _C%'
Tuetut yleismerkkilausekkeet Transact SQL: ssä
Transact SQL tukee useita jokerimerkkilausekkeita:
- % jokerimerkit vastaavat nollaa tai useampaa minkä tahansa tyyppistä merkkiä, ja sitä voidaan käyttää yleismerkkien määrittelemiseen sekä ennen kuviota että sen jälkeen. Jos olet perehtynyt DOS-kuvien vastaavuuteen, se vastaa * -merkkiä tässä syntaksissa.
- _ jokerimerkki täsmälleen yhden minkä tahansa tyyppisen merkin. Se vastaa ? jokerimerkki DOS-mallin mukaisina.
- Määritä merkkiluettelo liittämällä ne hakasulkeisiin. Esimerkiksi jokerimerkki [aeiou] vastaa mitä tahansa vokaalia.
- Määritä merkistöalue liittämällä alue hakasulkeisiin. Esimerkiksi jokerimerkki [olen] vastaa mitä tahansa aakkosten alkupuoliskon kirjainta.
- Negoi merkkialue sisällyttämällä karaattihahmo heti avaavan hakasulkeen sisään. Esimerkiksi, [^ aeiou] täsmää minkä tahansa muun kuin vokaalimerkin kanssa [^ a-m] vastaa mitä tahansa merkkiä, joka ei ole aakkosten ensimmäisellä puoliskolla.
Jokerimerkkien yhdistäminen monimutkaisille kuvioille
Yhdistä nämä jokerimerkit monimutkaisiin kuvioihin, jotta voit tehdä edistyneempiä kyselyjä. Oletetaan esimerkiksi, että sinun on laadittava luettelo kaikista työntekijöistäsi, joiden nimet alkavat aakkosten ensimmäiseltä puoliskolta, mutta ei päätä vokaalilla. Voit käyttää seuraavaa kyselyä:
VALITSE *
Työntekijöiltä
Missä sukunimi LIKE '[a-m]% [^ aeiou]'
Vastaavasti voit rakentaa luettelon kaikista työntekijöistä, joiden sukunimet koostuvat täsmälleen neljästä merkistä, käyttämällä neljää merkkiä _ kuvio:
VALITSE *
Työntekijöiltä
Missä sukunimi LIKE '____'
Kuten voit sanoa, SQL-mallin vastaavuusominaisuuksien käyttö tarjoaa tietokannan käyttäjille mahdollisuuden ylittää yksinkertaiset tekstikyselyt ja suorittaa edistyneitä hakutoimintoja.