LIKE
Last updated
Last updated
Ushbu qo'llanmada siz PostgreSQL LIKE
va ILIKE
operatorlaridan naqsh mosliklari yordamida ma'lumotlarni so'rash uchun qanday foydalanishni o'rganasiz.
Aytaylik, siz mijoz topmoqchisiz, lekin uning ismini aniq eslay olmaysiz. Biroq, uning ismi Jen
kabi bir narsa bilan boshlanganini eslashingiz mumkin.
Ma'lumotlar bazasidan aniq mijozni qanday topish mumkin? Jen
bilan boshlanadigan qiymat bor yoki yoʻqligini bilish uchun ism ustuniga qarab, mijozlar
jadvalida mijozni topishingiz mumkin. Biroq, agar mijoz jadvalida ko'p qatorlar bo'lsa, bu jarayon ko'p vaqt talab qilishi mumkin.
Yaxshiyamki, siz PostgreSQL LIKE
operatoridan mijozning ismini quyidagi so'rov yordamida satr bilan moslashtirishingiz mumkin:
E'tibor bering,
WHERE
bandida maxsus ibora mavjud:first_name
,LIKE
operatori va foiz belgisi(%)
o'z ichiga olgan qator."Jen%"
qatori naqsh deb ataladi.
So'rov first_name
ustunidagi qiymatlari Jen
bilan boshlanadigan va har qanday belgilar ketma-ketligidan keyin kelishi mumkin bo'lgan satrlarni qaytaradi. Ushbu uslub naqshni moslashtirish deb ataladi.
Siz literal qiymatlarni joker belgilar bilan birlashtirib naqsh tuzasiz va mosliklarni topish uchun LIKE
yoki NOT LIKE
operatoridan foydalaning. PostgreSQL sizga ikkita joker
belgilarni taqdim etadi:
Foiz belgisi (%)
nol yoki undan ortiq belgilarning istalgan ketma-ketligiga mos keladi.
Pastki chiziq belgisi (_)
har qanday bitta belgiga mos keladi.
PostgreSQL LIKE
operatorining sintaksisi quyidagicha:
Qiymat naqshga mos kelsa
, ifoda true
ni qaytaradi.
LIKE
operatorini bekor qilish uchun siz NOT
operatoridan quyidagi tarzda foydalanasiz:
Qiymat naqshga mos kelmasa
NOT LIKE
operatori true
qiymatini qaytaradi.
Agar naqshda joker belgi bo'lmasa, LIKE
operatori o'zini teng (=)
operatori kabi tutadi.
LIKE
operatori - naqshga mos keladigan misollarKeling, LIKE
operatoridan foydalanishga misollar keltiraylik
LIKE
misollariQuyidagi misolga qarang:
U qanday ishlaydi.
Birinchi ifoda rost
qaytaradi, chunki foo pattern
hech qanday joker belgini o'z ichiga olmaydi, shuning uchun LIKE
operatori teng (=)
operatori kabi ishlaydi.
Ikkinchi ifoda haqiqat
ni qaytaradi, chunki u f
harf bilan boshlanadigan va har qanday belgilar sonidan keyin har qanday qatorga mos keladi.
Uchinchi ifoda haqiqat
ni qaytaradi, chunki naqsh (_o_)
har qanday bitta belgi bilan boshlanadigan, o
harfdan keyin va istalgan bitta belgi bilan tugaydigan har qanday satrga mos keladi.
To'rtinchi ibora noto'g'ri
qaytaradi, chunki naqsh b_
harf bilan boshlanadigan b
va har qanday bitta belgidan keyin har qanday satrga mos keladi.
Naqshning boshida va/yoki oxirida joker
belgilardan foydalanish mumkin.
Masalan, quyidagi so'rov ismlarida Jenifer
, Kimberly
va er
hokazo qatorni o'z ichiga olgan mijozlarni qaytaradi.
_her%
naqsh har qanday qatorga mos keladi:
Har qanday bitta (_)
belgi bilan boshlang
Va so'zidan keyin uning to'g'ridan-to'g'ri qatori keladi. * Va har qanday belgilar soni bilan tugaydi.
Qaytarilgan birinchi ismlar - Cheryl
, Sherri
, Sherry
and Therasa
.
NOT LIKE
misollarQuyidagi so'rovda ismlari Jen
bilan boshlanmagan
mijozlarni topish uchun NOT LIKE
operatoridan foydalaniladi:
LIKE
operatorining kengaytmalariPostgreSQL LIKE
operatori kabi ishlaydigan ILIKE
operatorini qo'llab-quvvatlaydi. Bundan tashqari, ILIKE
operatori katta-kichik-kichik harflarga mos keladi. Masalan:
BAR%
naqshi BAR
, Bar
, BaR
va boshqalar bilan boshlanadigan har qanday qatorga mos keladi. Agar uning o'rniga LIKE
operatoridan foydalansangiz, so'rov hech qanday qatorni qaytarmaydi.
PostgreSQL shuningdek, quyida ko'rsatilganidek, LIKE
, NOT LIKE
, ILIKE
va NOT ILIKE
operatorlari kabi ishlaydigan ba'zi operatorlarni taqdim etadi:
~~
LIKE
~~*
ILIKE
!~~
NOT LIKE
!~~*
NOT ILIKE
Ushbu o'quv qo'llanmada siz PostgreSQL LIKE
va ILIKE
operatorlaridan naqsh moslashtirish yordamida ma'lumotlarni so'rash uchun qanday foydalanishni o'rgandingiz.