SQL wildcard belgilari
SQL joker belgilar
Joker belgi stringdagi bir yoki bir nechta belgini almashtirish uchun ishlatiladi.
Joker belgilar LIKE operatori bilan ishlatiladi. LIKE operatori WHERE bandida ustundagi belgilangan andozani (pattern) qidirish uchun ishlatiladi.
Misol
"a" harfi bilan boshlangan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
O‘zingiz sinab ko‘ring »
Joker belgilar
| Belgi | Tavsif |
|---|---|
| % | Nol yoki undan ortiq belgini ifodalaydi |
| _ | Bitta belgini ifodalaydi |
| [] | Qavslar ichidagi istalgan bitta belgini ifodalaydi * |
| ^ | Qavs ichida bo‘lmagan har qanday belgini ifodalaydi * |
| - | Belgilangan oraliqdagi istalgan bitta belgini ifodalaydi * |
| {} | Istalgan escape qilingan belgini ifodalaydi ** |
* PostgreSQL va MySQL ma’lumotlar bazalarida qo‘llab-quvvatlanmaydi.
** Faqat Oracle ma’lumotlar bazalarida qo‘llab-quvvatlanadi.
Demo ma’lumotlar bazasi
Quyida misollarda foydalanilgan Customers jadvalidan tanlanma keltirilgan:
| 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 |
% joker belgisidan foydalanish
% joker belgisi istalgan sondagi belgilarni, hatto nol belgini ham ifodalaydi.
Misol
"es" andozasi bilan tugaydigan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
O‘zingiz sinab ko‘ring »
Misol
"mer" andozasini o‘z ichiga olgan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';
O‘zingiz sinab ko‘ring »
_ joker belgisidan foydalanish
_ joker belgisi bitta belgini ifodalaydi.
Bu istalgan belgi yoki raqam bo‘lishi mumkin, lekin har bir _ bitta va faqat bitta belgini bildiradi.
Misol
City qiymati istalgan belgi bilan boshlanib, keyin "ondon" bilan davom etadigan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE City LIKE '_ondon';
O‘zingiz sinab ko‘ring »
Misol
City qiymati "L" bilan boshlanib, keyin istalgan 3 ta belgi kelgan va "on" bilan tugaydigan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE City LIKE 'L___on';
O‘zingiz sinab ko‘ring »
[] joker belgisidan foydalanish
Agar qavs ichidagi belgilardan birortasi mos kelsa, [] joker belgisi natijani qaytaradi.
Misol
"b", "s" yoki "p" bilan boshlangan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
O‘zingiz sinab ko‘ring »
- joker belgisidan foydalanish
- joker belgisi [] joker belgisi ichida bir qator belgilarni belgilash imkonini beradi.
Misol
"a", "b", "c", "d", "e" yoki "f" bilan boshlangan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
O‘zingiz sinab ko‘ring »
Joker belgilarni birlashtirish
Istalgan joker belgi, masalan % va _, boshqa joker belgilar bilan birgalikda ishlatilishi mumkin (masalan, __ — ketma-ket ikkita ixtiyoriy belgi).
Misol
"a" bilan boshlanadigan va uzunligi kamida 3 ta belgidan iborat barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
O‘zingiz sinab ko‘ring »
Misol
Ikkinchi o‘rinda "r" harfi bo‘lgan barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
O‘zingiz sinab ko‘ring »
Joker belgisiz
Agar joker belgi ko‘rsatilmagan bo‘lsa, natijani qaytarish uchun ibora aniq mos kelishi kerak.
Misol
Ispaniyadagi barcha mijozlarni qaytaring:
SELECT * FROM Customers
WHERE Country
LIKE 'Spain';
O‘zingiz sinab ko‘ring »
Microsoft Access joker belgilar
Microsoft Access ma’lumotlar bazasida boshqa joker belgilar mavjud:
| Belgi | Tavsif | Misol |
|---|---|---|
| * | Nol yoki undan ortiq belgini ifodalaydi | bl* bl, black, blue va blob so‘zlarini topadi |
| ? | Bitta belgini ifodalaydi | h?t hot, hat va hit so‘zlarini topadi |
| [] | Qavslar ichidagi istalgan bitta belgini ifodalaydi | h[oa]t hot va hat so‘zlarini topadi, lekin hit’ni topmaydi |
| ! | Qavs ichida bo‘lmagan har qanday belgini ifodalaydi | h[!oa]t hit’ni topadi, lekin hot va hat’ni topmaydi |
| - | Belgilangan oraliqdagi istalgan bitta belgini ifodalaydi | c[a-b]t cat va cbt so‘zlarini topadi |
| # | Istalgan bitta raqamli belgini ifodalaydi | 2#5 205, 215, 225, 235, 245, 255, 265, 275, 285 va 295 ni topadi |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
