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:
- Ang % wildcard ay tumutugma sa zero o higit pang mga character ng anumang uri, at maaaring magamit upang tukuyin ang mga wildcard bago at pagkatapos ng pattern. Kung pamilyar ka sa pagtutugma ng DOS pattern, ito ay katumbas ng * wildcard sa syntax na iyon.
- Ang _ wildcard ay eksaktong tumutugma sa isang character ng anumang uri. Ito ang katumbas ng ? wildcard sa pagtutugma ng pattern ng DOS.
- Tukuyin ang isang listahan ng mga character sa pamamagitan ng paglalagay ng mga ito sa square bracket. Halimbawa, ang wildcard [aeiou] ay tumutugma sa anumang patinig.
- Tukuyin ang isang hanay ng mga character sa pamamagitan ng paglalagay ng hanay sa mga square bracket. Halimbawa, ang wildcard ay tumutugma sa anumang titik sa unang kalahati ng alpabeto.
- Ihinto ang isang hanay ng mga character sa pamamagitan ng pagsasama ng character karat kaagad sa loob ng pagbukas square bracket. Halimbawa, ang [^ aeiou] ay tumutugma sa anumang di-patinig na karakter habang [^ am] tumutugma sa anumang karakter na hindi sa unang kalahati ng alpabeto.
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.