کاراکتر wildcard
یک wildcard کاراکتری برای جایگزینی هر کاراکتر دیگری در یک رشته استفاده می شود.
کاراکترهای Wildcard با عملگر SQL LIKE مورد استفاده قرار می گیرند. عملگر LIKE در یک عبارت WHERE برای جستجوی یک الگوی مشخص در یک ستون استفاده می شود.
دو علامت های علامت استفاده شده در ارتباط با اپراتور LIKE وجود دارد:
٪ علامت درصد نشان دهنده صفر، یک یا چند کاراکتر است
_ برجسته نشان دهنده یک شخصیت است
توجه داشته باشید: MS Access از علامت سوال (؟) به جای نشان دادن (_) استفاده می کند.
در MS Access و SQL Server همچنین می توانید از:
[charlist] مجموعه ها و محدوده های شخصیت ها را برای مطابقت تعریف می کند
[^ charlist] یا [! charlist] مجموعه ها و محدوده های شخصیت هایی را که مطابقت ندارند تعریف می کند
wildcard نیز می تواند در ترکیب استفاده شود! در اینجا چند نمونه از اپراتورهای 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
1
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
1
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
4
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]%';
نظر شما
>