SQL wildcard belgilari


baham ko‘ring

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!