021-28423015

Wildcards در SQL

کاراکتر wildcard

یک wildcard کاراکتری برای جایگزینی هر کاراکتر دیگری در یک رشته استفاده می شود.

کاراکترهای Wildcard با عملگر SQL LIKE مورد استفاده قرار می گیرند. عملگر LIKE در یک عبارت WHERE برای جستجوی یک الگوی مشخص در یک ستون استفاده می شود.

 

دو علامت های علامت استفاده شده در ارتباط با اپراتور LIKE وجود دارد:

٪  علامت درصد نشان دهنده صفر، یک یا چند کاراکتر است

برجسته نشان دهنده یک شخصیت است

توجه داشته باشید: MS Access از علامت سوال (؟) به جای نشان دادن (_) استفاده می کند.

 

در MS Access و SQL Server همچنین می توانید از:

[charlist] مجموعه ها و محدوده های شخصیت ها را برای مطابقت تعریف می کند

[^ charlist] یا [! charlist]  مجموعه ها و محدوده های شخصیت هایی را که مطابقت ندارند تعریف می کند

wildcard نیز می تواند در ترکیب استفاده شود! در اینجا چند نمونه از اپراتورهای LIKE مختلف با عبارات '٪' و '_' را نشان می دهد:

توضیحات
اپراتور LIKE
مقادیری را که با a شروع می شود پیدا می کند.
WHERE CustomerName LIKE 'a%'
تمامی مقادیر که دارای با a به پایان میرسند را پیدا می کند.
WHERE CustomerName LIKE '%a'
مقادیری را انتخاب می کند که حاوی or باشد ، در هر موقمعیتی که وجود دارد
WHERE CustomerName LIKE '%or%'
مقادیری را پیدا می کند که r در موقعیت دوم دارند.
WHERE CustomerName LIKE '_r%'
مقادیری را که با a شروع می شوند را پیدا می کند و حداقل 3 حرف طول دارند.
WHERE CustomerName LIKE 'a_%_%'
مقادیری را که با a شروع می شوند و با o به پایان میرسند.
WHERE ContactName LIKE 'a%o'

استفاده از % wildcard

دستور SQL زیر همه مشتریان را یک شهرکه با"ber" شروع می کند:

SELECT * FROM Customers
WHERE City LIKE 'ber%';

3 رکورد انتخاب شد .

CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
Alfreds Futterkiste 
Maria Anders 
Obere Str. 57 
Berlin 
12209 
Germany 
14 
Chop-suey Chinese 
Yang Wang 
Hauptstr. 29 
Bern 
3012 
Switzerland 
49 
Magazzini Alimentari Riuniti 
Giovanni Rovelli 
Via Ludovico il Moro 22 
Bergamo 
24100 
Italy 

دستور SQL زیر همه مشتریان را یک شهرکه حاوی الگوی "es" انتخاب می کند:

SELECT * FROM Customers
WHERE City LIKE '%es%';

9 رکورد انتخاب شد .

CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
12 
Cactus Comidas para llevar 
Patricio Simpson 
Cerrito 333 
Buenos Aires 
1010 
Argentina 
18 
Du monde entier 
Janine Labrune 
67, rue des Cinquante Otages 
Nantes 
44000 
France 
26 
France restauration 
Carine Schmitt 
54, rue Royale 
Nantes 
44000 
France 
38 
Island Trading 
Helen Bennett 
Garden House Crowther Way 
Cowes 
PO31 7PJ 
UK 
40 
La corne d'abondance 
Daniel Tonini 
67, avenue de l'Europe 
Versailles 
78000 
France 
50 
Maison Dewey 
Catherine Dewey 
Rue Joseph-Bens 532 
Bruxelles 
B-1180 
Belgium 
54 
Océano Atlántico Ltda. 
Yvonne Moncada 
Ing. Gustavo Moncada 8585 Piso 20-A 
Buenos Aires 
1010 
Argentina 
64 
Rancho grande 
Sergio Gutiérrez 
Av. del Libertador 900 
Buenos Aires 
1010 
Argentina 
88 
Wellington Importadora 
Paula Parente 
Rua do Mercado, 12 
Resende 
08737-363 
Brazil 

 

استفاده از _ wildcard

دستور SQL زیر همه مشتریان را با یک شهر شروع می کند که با هر کاراکتر شروع می شود و آخر آن "erlin" است:

SELECT * FROM Customers
WHERE City LIKE '_erlin'

1 رکورد انتخاب شد.

CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
Alfreds Futterkiste 
Maria Anders 
Obere Str. 57 
Berlin 
12209 
Germany 

دستور SQL زیرهمه مشتریان را یک شهرکه با "L" شروع می کند ، به دنبال آن "n"، و سپس به "on" ختم شود را انتخاب می کند:

SELECT * FROM Customers
WHERE City LIKE 'L_n_on';

6 رکورد انتخاب شد.

CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
Around the Horn 
Thomas Hardy 
120 Hanover Sq. 
London 
WA1 1DP 
UK 
11 
B's Beverages 
Victoria Ashworth 
Fauntleroy Circus 
London 
EC2 5NT 
UK 
16 
Consolidated Holdings 
Elizabeth Brown 
Berkeley Gardens 12 Brewery  
London 
WX1 6LT 
UK 
19 
Eastern Connection 
Ann Devon 
35 King George 
London 
WX3 6FW 
UK 
53 
North/South 
Simon Crowther 
South House 300 Queensbridge 
London 
SW7 1RZ 
UK 
72 
Seven Seas Imports 
Hari Kumar 
90 Wadhurst Rd. 
London 
OX15 4NB 
UK 

استفاده از [charlist] wildcard

دستور SQL زیر همه مشتریان را با یک شهر شروع می کند که با "b "، s "" یا "p" شروع می شود:

SELECT * FROM Customers
WHERE City LIKE '[bsp]%'

29 رکورد انتخاب می شود.

دستور SQL زیر همه مشتریان را با شهر شروع می کند که با "a "، b "" یا "c" شروع می شود:

22 رکورد انتخاب می شود.

استفاده از [!charlist] wildcard

دو عبارت زیر SQL همه مشتریان را با یک شهر که با "b "، s "" یا "p" شروع نمی شود انتخاب می کند:

SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';

62 رکورد انتخاب می شود.

 

یا بدین صورت

SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';

نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

مقالات و دروس

عضویت در خبرنامه شرکت نرم افزاری وب مهراز

برای اطلاع از بسته ها ، تخفیف های استثنایی و تازه های ما به خبرنامه وب مهراز بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط