SQL so'rovlarida pattern matching

Noto'g'ri moslashtirish uchun joker belgilarni ishlatish

SQL naqshini moslashtirish siz istagan aniq so'z yoki iborani bilmasangiz, ma'lumotlar naqshini qidirishga imkon beradi. SQL so'rovining bunday turlari, to'rni aniq ko'rsatish o'rniga naqshga mos keladigan joker belgilarni ishlatadi. Misol uchun, sarmoya bilan boshlangan har qanday mag'lubiyatga mos keladigan "C%" joker belgisini ishlatishingiz mumkin.

BIZNI Operatorni ishlatish

SQL so'rovida joker belgilar ifodasini ishlatish uchun, WHERE punktida NIKE operatoridan foydalaning va naqshni bitta tirnoq belgilari ichiga oling.

Oddiy qidiruvni amalga oshirish uchun% Jadvalni ishlatish

Ma'lumotlar bazasidagi har qanday ishchini C harfi bilan boshlangan familiyani izlash uchun quyidagi Transact-SQL iborasini ishlating:

SELECT * FROM xodimlari WHERE last_name LIKE "C%"

QAYTA QAYD so'zini ishlatib, nayranglarni tashlash

Naqshga mos kelmaydigan yozuvlarni tanlash uchun NOT kalit so'zidan foydalaning. Misol uchun, bu so'rovnoma ismining so'nggi C bilan boshlanmaydigan barcha yozuvlarni qaytaradi:

SELECT * FROM xodimlari WHERE last_name QAYD QO'ShILGAN 'C%'

% Jadvalni ikki marta ishlatish bilan har qanday namunani moslash

Har qanday naqshni xohlagan joyga moslashtirish uchun % wildcard ning ikkita misolidan foydalaning. Ushbu misol familiyaning biron bir joyida joylashgan barcha yozuvlarni qaytaradi:

SELECT * FROM xodimlaridan Qaerda last_name LIKE '% C%'

Aniq bir pozitsiyada namuna o'yinini topish

Ma'lumotni ma'lum bir joyga qaytarish uchun _ belgilaridan foydalaning. Ushbu misol faqatgina C familiyasi ustunining uchinchi holatida uchraydi.

SELECT * FROM xodimlaridan Qaerda last_name LIKE "_ _C%"

Transact SQLda qo`llab-quvvatlangan Joker belgilar

Transact SQL tomonidan qo'llab-quvvatlangan bir nechta joker belgilar mavjud:

Murakkab naqshlar uchun joker belgilarni birlashtirish

Keyinchalik rivojlangan so'rovlarni bajarish uchun ushbu jokerlarni murakkab naqshlarda birlashtirish. Masalan, alfavitning birinchi yarmidan boshlangan, lekin unli bilan tugamaydigan harflar bilan boshlangan ismingiz bor barcha xodimlaringiz ro'yxatini tuzishingiz kerak. Quyidagi so'rovlardan foydalanishingiz mumkin:

SELECT * FROM xodimlar WHERE last_name LIKE '[am]% [^ aeiou]'

Xuddi shunday, siz barcha nusxadagi to'rtta nusxani qo'llagan holda to'rtta belgidan iborat bo'lgan barcha ism-shariflar ro'yxatini yaratishingiz mumkin:

SELECT * FROM xodimlari WHERE last_name LIKE "____"

Aytib o'tish joizki, SQL naqshini moslashtirish qobiliyatlaridan foydalanish ma'lumotlar bazasi foydalanuvchilariga sodda matn so'rovlaridan ortib borish va rivojlangan qidiruv ishlarini amalga oshirish imkonini beradi.