Pattern Matching sa SQL Query

Paggamit ng mga Wildcard para sa Pagtutugma ng Hindi Katulad

Pinapayagan ka ng pagtutugma ng pattern ng SQL na maghanap ka ng mga pattern sa data, kung hindi mo alam ang eksaktong salita o pariralang hinahanap mo. Ang ganitong uri ng query sa SQL ay gumagamit ng mga character ng wildcard upang tumugma sa isang pattern, sa halip na tukuyin ito nang eksakto. Halimbawa, maaari mong gamitin ang wildcard na "C%" upang tumugma sa anumang string na nagsisimula sa isang capital C.

Gamit ang LIKE Operator

Upang gumamit ng ekspresyon ng wildcard sa isang query sa SQL, gamitin ang operator ng KATULAD sa isang Sugnay na SAAN, at isama ang pattern sa loob ng iisang marka ng panipi.

Gamit ang% Wildcard upang Magsagawa ng Simple Search

Upang maghanap ng sinumang empleyado sa iyong database na may isang huling pangalan na nagsisimula sa titik C, gamitin ang sumusunod na pahayag ng Transact-SQL:

SELECT * FROM employees WHERE last_name LIKE 'C%'

Pag-iwas sa mga Pattern Paggamit ng HINDI Keyword

Gamitin ang HINDI keyword upang piliin ang mga tala na hindi tumutugma sa pattern. Halimbawa, ang query na ito ay nagbabalik ng lahat ng mga talaan na ang huling pangalan ay hindi nagsisimula sa C:

PUMILI * MULA SA MGA empleyado SAAN last_name HINDI 'C%'

Pagtutugma ng Pattern Saanman Paggamit ng% Wildcard Dalawang beses

Gumamit ng dalawang pagkakataon ng % wildcard upang tumugma sa isang partikular na pattern kahit saan. Ang halimbawang ito ay nagbabalik ng lahat ng mga talaan na naglalaman ng isang C kahit saan sa huling pangalan:

PUMILI * MULA SA MGA empleyado SAAN last_name LIKE '% C%'

Paghahanap ng Pagtutugma ng Pattern sa isang Tiyak na Posisyon

Gamitin ang _ wildcard upang ibalik ang data sa isang partikular na lokasyon. Ang halimbawang ito ay tumutugma lamang kung ang C ay nangyayari sa ikatlong posisyon ng huling haligi ng pangalan:

PUMILI * MULA SA MGA empleyado SAAN last_name LIKE '_ _% CC'

Suportadong Wildcard Expression sa Transact SQL

Mayroong ilang mga ekspresyon ng wildcard na suportado ng Transact SQL:

Pinagsasama Wildcards para sa Complex Patterns

Pagsamahin ang mga wildcards sa kumplikadong mga pattern upang magsagawa ng mas maraming mga advanced na query. Halimbawa, ipagpalagay na kailangan mong bumuo ng isang listahan ng lahat ng iyong mga empleyado na may mga pangalan na nagsisimula sa isang sulat mula sa unang kalahati ng alpabeto ngunit hindi nagtatapos sa isang patinig. Maaari mong gamitin ang sumusunod na tanong:

PUMILI * MULA SA MGA empleyado SAAN last_name KATULAD '[am]% [^ aeiou]'

Katulad nito, maaari kang bumuo ng isang listahan ng lahat ng empleyado na may mga huling pangalan na binubuo ng eksaktong apat na character sa pamamagitan ng paggamit ng apat na mga halimbawa ng pattern:

PUMILI * MULA SA MGA empleyado SAAN last_name KATULAD '____'

Tulad ng masasabi mo, ang paggamit ng mga kakayahan sa pagtutugma ng pattern ng SQL ay nag-aalok ng mga gumagamit ng database ng kakayahang lumampas sa simpleng mga query sa teksto at magsagawa ng mga advanced na operasyon sa paghahanap.