6-modul · 5-dars: Functions · Pattern matching
Daraja: O'rta
Functions · Pattern matching. PostgreSQL bo‘yicha nazariya, amaliy namuna va mustaqil mashq.
Tushuntirish
## Dars maqsadi Functions · Pattern matching tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.
## Nazariya SQL funksiyalari ma'lumotni serverda o'zgartirish va taqqoslashga yordam beradi. CONCAT_WS separator bilan textlarni birlashtiradi va NULL argumentlarni tashlab ketadi; bo'sh string NULL emas. TO_DATE matnni berilgan shablon bo'yicha sanaga aylantiradi. Kirish formatini taxmin qilmang: yil-oy-kun tartibini aniq ko'rsating. LIKE oddiy wildcard, ILIKE harf registriga sezgir bo'lmagan wildcard qidiruvdir. SIMILAR TO SQLning regular-expressionga o'xshash sintaksisini ishlatadi va butun satrni moslaydi. POSIX regex uchun ~ registrga sezgir, ~* sezgir bo'lmagan operator. ^ va $ satr chegaralarini bildiradi; murakkab regexning narxini ham hisobga oling. Clientdan olingan qiymatlarni SQL matniga qo'shmang: parametrli so'rov ishlating. Qidiruv wildcardlari foydalanuvchi kiritgan % va _ bilan qanday ishlashini belgilang. Funksiya bilan o'ralgan ustun oddiy indeksdan foydalana olmasligi mumkin; EXPLAIN va mos expression index bilan o'lchab qaror qiling.
## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/6-module%28database%29.md) [Rasmiy qo‘llanma](https://www.postgresql.org/docs/current/)
Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.
Kod misoli
SELECT concat_ws(' / ', 'Java', NULL, 'SQL');
SELECT to_date('2026-09-10', 'YYYY-MM-DD');
SELECT 'Java17' ~ '^Java[0-9]+$' AS mos;
Keng tarqalgan xatolar
- LIKE va regex sintaksisini aralashtirmang: % regexdagi .* bilan bir xil yozilmaydi.
Mashqlar
- Faqat harf va raqamlardan iborat username uchun regex tuzing; bo'sh va juda uzun kirishni ham sinang.
- LIKE va regex (~) bilan bir xil qidiruvni yozib, natijalar farqini tushuntiring.
Teglar: nazariya, pdp, modul-06