Sanalar bilan ishlash
077 daq
Sanalar deyarli har bir bazada bor: tug‘ilgan kun, buyurtma vaqti, imtihon sanasi. Ular bilan ishlash bazalarda biroz farq qiladi — bu darsda ikkalasini ham ko‘rsatamiz.
Turlar
date— faqat sana:2026-11-14;timestamp(PostgreSQL) /datetime(MySQL) — sana va vaqt:2026-11-14 18:30:00.
Sanalarni oddiy solishtirish mumkin — ular xuddi sonlardek tartiblanadi:
Bugungi sana
CURRENT_DATE — bugun, CURRENT_TIMESTAMP (yoki NOW()) — hozirgi vaqt. Ikkala bazada ham ishlaydi.
Sanadan qism ajratish: EXTRACT
EXTRACT ikkala bazada ham bor. Bundan tashqari:
PostgreSQL’da date_trunc — sanani oy, hafta yoki kungacha «kesadi»:
Sanani chiroyli ko‘rinishda: to_char(ordered_at, 'DD.MM.YYYY').
Sanaga vaqt qo‘shish va farqni hisoblash
PostgreSQL’da interval:
Ikki sana farqi — delivered_at - ordered_at (natija interval), kunlarda: delivered_at::date - ordered_at::date.
Butun oy yoki yil bo‘yicha tanlash
BETWEEN '2026-10-01' AND '2026-10-31' vaqtli ustunda 31-oktabr soat 00:00 dan keyingi buyurtmalarni tashlab ketadi! Ishonchli usul — «keyingi oyning boshidan kichik»:
2007-yilda tug‘ilgan talabalarning first_name va birth_date ustunlarini chiqaring.
2026-yil sentabr oyida berilgan buyurtmalar nechta? Bitta son chiqaring.
Esda qoldiring
- Sanalar
'yil-oy-kun'ko‘rinishida yoziladi va oddiy solishtiriladi. EXTRACT(YEAR FROM sana)— ikkala bazada ishlaydi.- Davr bo‘yicha tanlashda:
>= boshlanish AND < keyingi davr boshi.