wildcard چیست؟
wildcard ها می توانند هنگام جستجوی داده از یک پایگاه داده مورد استفاده قرار گیرند.
Wildcardها یا کاراکترهای جایگزین در SQL
Wildcardها می توانند جانشین یک یا چند کاراکتر برای جستجوی داده در یک پایگاه داده شوند.
Wildcardها باید به همراه عملگر LIKE استفاده شوند.
Wildcardهای زیر در SQL می توانند استفاده شوند:
Wildcard | توضیحات |
---|---|
% | جانشینی برای صفر یا چند کاراکتر |
_ | جانشینی برای دقیقا یک کاراکتر |
[charlist] | کاراکترهای نوشته شده در براکت |
یا [^charlist]
[!charlist] |
به غیر از کاراکترهای نوشته شده در براکت |
مثال Wildcardها
در جدول Persons
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
کاربرد %
می خواهیم افرادی را انتخاب کنیم که در شهری زندگی می کنند که با sa شروع می شود.
از دستور زیر استفاده می کنیم:
WHERE City LIKE 'sa%'
جدول نتایج به شکل زیر خواهد بود:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
حال می خواهیم افرادی را انتخاب کنیم که در شهری زندگی می کنند که نام آن شهر حاوی nes می باشد.
از دستور زیر استفاده می کنیم:
WHERE City LIKE '%nes%'
جدول نتایج به شکل زیر خواهد بود:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
کاربرد _ (زیر خط)
می خواهیم افرادی را انتخاب کنیم که نام کوچک (first name) آنها با هر کاراکتری شروع شود و در ادامه حروف la آمده باشد.
از دستور زیر استفاده می کنیم:
WHERE FirstName LIKE '_la'
جدول نتایج به شکل زیر خواهد بود:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
حال می خواهیم افرادی را انتخاب کنیم که نام خانوادگی (last name) آنها با s شروع می شود و بعد از آن یک کاراکتر باشد و در ادامه end باشد و بعد یک کاراکتر باشد و در ادامه on باشد.
از دستور زیر استفاده می کنیم:
WHERE LastName LIKE 'S_end_on'
جدول نتایج به شکل زیر خواهد شد:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Svendson | Tove | Borgvn 23 | Sandnes |
کاربرد [آرایه ای از کاراکترها]
می خواهیم از جدول persons افرادی را انتخاب کنیم که نام خانوادگی آنها با "b" یا "s" یا "p" شروع می شود.
از دستور زیر استفاده می کنیم:
WHERE LastName LIKE '[bsp]%'
جدول نتایج به شکل زیر خواهد بود:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
می خواهیم از جدول persons افرادی را انتخاب کنیم که نام خانوادگی آنها با "b" یا "s" یا "p" شروع نشود.
از دستور زیر استفاده می کنیم:
WHERE LastName LIKE '[!bsp]%'
جدول نتایج به شکل زیر خواهد شد:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.
- نوشته شده توسط مهندس تمیزی
- بازدید: 30139
دیدگاهها
تو مثالتون فرموديد اگر بخواهیم از جدول persons افرادی را انتخاب کنیم که نام خانوادگی آنها با b یا s یا p شروع می شود.
اگه شروع كلمه با دو حرف خاص باشه چي؟مثلا اگه بخوايم فردي رو انتخاب كنيم كه نام خانوادگيش با oh يا to شروع شده باشه بايد چطور بنويسيم؟
SELECT * FROM Persons
WHERE LastName LIKE 'oh%' or LastName LIKE 'to%'
داخل براکت تنها می توانید یک محدوده کاراکتر مثل [a-d] یا تک تک کاراکترها را مثل [abcd] مشخص نمایید.