SQL வைல்ட்கார்ட் எழுத்துகள்
ஒரு சரத்தில் ஒன்று அல்லது அதற்கு மேற்பட்ட எழுத்துகளை மாற்றுவதற்கு ஒரு வைல்ட்கார்ட் எழுத்து பயன்படுத்தப்படுகிறது.
வைல்ட்கார்ட் எழுத்துகள் LIKE ஆபரேட்டருடன் பயன்படுத்தப்படுகின்றன. LIKE ஆபரேட்டர் ஒரு நிரலில் குறிப்பிட்ட முறையைத் தேட WHERE கிளாஸில் பயன்படுத்தப்படுகிறது.
உதாரணம்
'a' என்ற எழுத்தில் தொடங்கும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
வைல்ட்கார்ட் எழுத்துகள்
| குறியீடு | விளக்கம் | உதாரணம் |
|---|---|---|
| % | பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட எழுத்துகளை பிரதிநிதித்துவப்படுத்துகிறது | 'a%' - a, ab, abc போன்றவை |
| _ | ஒரு ஒற்றை எழுத்தை பிரதிநிதித்துவப்படுத்துகிறது | 'a_' - ab, ac, ad போன்றவை |
| [] | அடைப்புக்குறிக்குள் உள்ள எந்த ஒற்றை எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது * | '[abc]%' - a, b, c இல் தொடங்கும் |
| ^ | அடைப்புக்குறிக்குள் இல்லாத எந்த எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது * | '[^abc]%' - a, b, c தவிர்த்து தொடங்கும் |
| - | குறிப்பிட்ட வரம்பிற்குள் உள்ள எந்த ஒற்றை எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது * | '[a-f]%' - a முதல் f வரை தொடங்கும் |
| {} | எந்த தப்பிப்பிழைத்த எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது ** | Oracle இல் மட்டும் |
தரவுத்தள ஆதரவு:
* PostgreSQL மற்றும் MySQL தரவுத்தளங்களில் ஆதரிக்கப்படவில்லை.
** Oracle தரவுத்தளங்களில் மட்டும் ஆதரிக்கப்படுகிறது.
ஆர்ப்பாட்ட தரவுத்தளம்
உதாரணங்களில் பயன்படுத்தப்படும் Customers அட்டவணையிலிருந்து ஒரு தேர்வு கீழே உள்ளது:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
% வைல்ட்கார்டைப் பயன்படுத்துதல்
% வைல்ட்கார்ட் எந்த எண்ணிக்கையிலான எழுத்துகளையும், பூஜ்ஜிய எழுத்துகள் கூட பிரதிநிதித்துவப்படுத்துகிறது.
உதாரணம்
'es' என்ற முறையில் முடியும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
உதாரணம்
'mer' என்ற முறையைக் கொண்ட அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';
_ வைல்ட்கார்டைப் பயன்படுத்துதல்
_ வைல்ட்கார்ட் ஒரு ஒற்றை எழுத்தை பிரதிநிதித்துவப்படுத்துகிறது.
இது எந்த எழுத்து அல்லது எண்ணாகவும் இருக்கலாம், ஆனால் ஒவ்வொரு _ ம் ஒரு, மற்றும் ஒரே ஒரு எழுத்தை மட்டுமே பிரதிநிதித்துவப்படுத்துகிறது.
உதாரணம்
எந்த எழுத்துடன் தொடங்கி, "ondon" உடன் முடியும் City உள்ள அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE City LIKE '_ondon';
உதாரணம்
"L" உடன் தொடங்கி, ஏதேனும் 3 எழுத்துகள், "on" உடன் முடியும் City உள்ள அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE City LIKE 'L___on';
[] வைல்ட்கார்டைப் பயன்படுத்துதல்
[] வைல்ட்கார்ட் உள்ளே உள்ள எழுத்துகளில் ஏதேனும் ஒன்று பொருந்தினால் ஒரு முடிவைத் திரும்பப் பெறுகிறது.
உதாரணம்
"b", "s", அல்லது "p" இல் தொடங்கும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
குறிப்பு:
இந்த வைல்ட்கார்ட் PostgreSQL மற்றும் MySQL தரவுத்தளங்களில் ஆதரிக்கப்படவில்லை.
- வைல்ட்கார்டைப் பயன்படுத்துதல்
- வைல்ட்கார்ட் [] வைல்ட்கார்டிற்குள் எழுத்துகளின் வரம்பைக் குறிப்பிட உங்களை அனுமதிக்கிறது.
உதாரணம்
"a", "b", "c", "d", "e" அல்லது "f" இல் தொடங்கும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
குறிப்பு:
இந்த வைல்ட்கார்ட் PostgreSQL மற்றும் MySQL தரவுத்தளங்களில் ஆதரிக்கப்படவில்லை.
வைல்ட்கார்ட்களை இணைக்கவும்
எந்த வைல்ட்கார்டும், % மற்றும் _ போன்றவை, மற்ற வைல்ட்கார்ட்களுடன் இணைந்து பயன்படுத்தப்படலாம்.
குறைந்தபட்ச நீளம்
"a" இல் தொடங்கி குறைந்தது 3 எழுத்துகள் நீளம்
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
குறிப்பிட்ட நிலை
இரண்டாம் நிலையில் "r" உள்ள பெயர்கள்
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
வரம்பு மற்றும் நிலை
a-f வரம்பில் தொடங்கி 3 எழுத்துகள்
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]___%';
வைல்ட்கார்ட் இல்லாமல்
வைல்ட்கார்ட் குறிப்பிடப்படவில்லை என்றால், முடிவைத் திரும்பப் பெற சொற்றொடர் சரியாக பொருந்த வேண்டும்.
உதாரணம்
ஸ்பெயினிலிருந்து அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
மைக்ரோசாப்ட் அக்சஸ் வைல்ட்கார்ட்கள்
மைக்ரோசாப்ட் அக்சஸ் தரவுத்தளத்தில் வேறு சில வைல்ட்கார்ட்கள் உள்ளன:
| குறியீடு | விளக்கம் | உதாரணம் |
|---|---|---|
| * | பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட எழுத்துகளை பிரதிநிதித்துவப்படுத்துகிறது | bl* → bl, black, blue, blob |
| ? | ஒரு ஒற்றை எழுத்தை பிரதிநிதித்துவப்படுத்துகிறது | h?t → hot, hat, hit |
| [] | அடைப்புக்குறிக்குள் உள்ள எந்த ஒற்றை எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது | h[oa]t → hot, hat (hit இல்லை) |
| ! | அடைப்புக்குறிக்குள் இல்லாத எந்த எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது | h[!oa]t → hit (hot, hat இல்லை) |
| - | குறிப்பிட்ட வரம்பிற்குள் உள்ள எந்த ஒற்றை எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது | c[a-b]t → cat, cbt |
| # | எந்த ஒற்றை எண் எழுத்தையும் பிரதிநிதித்துவப்படுத்துகிறது | 2#5 → 205, 215, 225, ... 295 |
தரவுத்தள ஆதரவு ஒப்பீடு
SQL Server
- % - ஆதரிக்கப்படுகிறது
- _ - ஆதரிக்கப்படுகிறது
- [] - ஆதரிக்கப்படுகிறது
- ^ - ஆதரிக்கப்படுகிறது
- - - ஆதரிக்கப்படுகிறது
- {} - ஆதரிக்கப்படவில்லை
MySQL
- % - ஆதரிக்கப்படுகிறது
- _ - ஆதரிக்கப்படுகிறது
- [] - ஆதரிக்கப்படவில்லை
- ^ - ஆதரிக்கப்படவில்லை
- - - ஆதரிக்கப்படவில்லை
- {} - ஆதரிக்கப்படவில்லை
PostgreSQL
- % - ஆதரிக்கப்படுகிறது
- _ - ஆதரிக்கப்படுகிறது
- [] - ஆதரிக்கப்படவில்லை
- ^ - ஆதரிக்கப்படவில்லை
- - - ஆதரிக்கப்படவில்லை
- {} - ஆதரிக்கப்படவில்லை
நடைமுறை உதாரணங்கள்
மின்னஞ்சல் டொமைன்
குறிப்பிட்ட டொமைனில் மின்னஞ்சல்கள்
SELECT * FROM Users
WHERE Email LIKE '%@gmail.com';
ஐடி வடிவம்
குறிப்பிட்ட வடிவத்தில் ஐடி
SELECT * FROM Employees
WHERE EmpID LIKE 'EMP____';
தொலைபேசி எண்
குறிப்பிட்ட பகுதி குறியீடு
SELECT * FROM Customers
WHERE Phone LIKE '+91-9_______';
கோப்பு வகைகள்
பட கோப்புகள்
SELECT * FROM Documents
WHERE FileName LIKE '%.jpg'
OR FileName LIKE '%.png'
OR FileName LIKE '%.gif';