192. Kalendar generatsiyasi
Qiyin2025-06-01 dan 2025-06-14 gacha bo'lgan har bir kun uchun bitta
qatorli kalendar tuzing.
Kunlarni jadvaldan olmaysiz — ularni GENERATE_SERIES yaratadi:
GENERATE_SERIES(DATE '2025-06-01', DATE '2025-06-14', INTERVAL '1 day')Natija TIMESTAMP bo'lgani uchun uni ::DATE ga keltiring.
Har bir kun uchun chiqaring:
dow— hafta kuni raqami (0— yakshanba)is_weekend— shanba yoki yakshanbamiholiday—holidaysjadvalidagi nomi, bayram bo'lmasaNULL
Bayramlar jadvalida iyundan tashqari sanalar ham bor — ular chiqmasin.
Ustunlar: day, dow, is_weekend, holiday.
Saralash: day o'sish.
holidays: day DATE PK, name VARCHAR
Namuna ma'lumotlar
sample
holidays
| dayDATE | nameVARCHAR(50) |
|---|---|
| 2025-06-01 | Bolalarni himoya qilish kuni |
Kutilgan natija
| day | dow | holiday | is_weekend |
|---|---|---|---|
| 2025-06-01 | 0 | Bolalarni himoya qilish kuni | true |
| 2025-06-02 | 1 | NULL | false |
| 2025-06-03 | 2 | NULL | false |
| 2025-06-04 | 3 | NULL | false |
| 2025-06-05 | 4 | NULL | false |
| 2025-06-06 | 5 | NULL | false |
| 2025-06-07 | 6 | NULL | true |
| 2025-06-08 | 0 | NULL | true |
| 2025-06-09 | 1 | NULL | false |
| 2025-06-10 | 2 | NULL | false |
| 2025-06-11 | 3 | NULL | false |
| 2025-06-12 | 4 | NULL | false |
| 2025-06-13 | 5 | NULL | false |
| 2025-06-14 | 6 | NULL | true |
sample-full
holidays
| dayDATE | nameVARCHAR(50) |
|---|---|
| 2025-01-01 | Yangi yil |
| 2025-03-08 | Xotin-qizlar kuni |
| 2025-03-21 | Navro'z |
| 2025-06-01 | Bolalarni himoya qilish kuni |
| 2025-06-06 | Kasbiy bayram |
| 2025-09-01 | Mustaqillik kuni |
| 2025-12-08 | Konstitutsiya kuni |
Kutilgan natija
| day | dow | holiday | is_weekend |
|---|---|---|---|
| 2025-06-01 | 0 | Bolalarni himoya qilish kuni | true |
| 2025-06-02 | 1 | NULL | false |
| 2025-06-03 | 2 | NULL | false |
| 2025-06-04 | 3 | NULL | false |
| 2025-06-05 | 4 | NULL | false |
| 2025-06-06 | 5 | Kasbiy bayram | false |
| 2025-06-07 | 6 | NULL | true |
| 2025-06-08 | 0 | NULL | true |
| 2025-06-09 | 1 | NULL | false |
| 2025-06-10 | 2 | NULL | false |
| 2025-06-11 | 3 | NULL | false |
| 2025-06-12 | 4 | NULL | false |
| 2025-06-13 | 5 | NULL | false |
| 2025-06-14 | 6 | NULL | true |
sample-extra
holidays
| dayDATE | nameVARCHAR(50) |
|---|---|
| 2025-03-23 | Bolalarni himoya qilish kuni |
| 2025-01-27 | Arxiv |
| 2025-01-15 | Navro'z |
| 2025-06-14 | Yangi yil |
Kutilgan natija
| day | dow | holiday | is_weekend |
|---|---|---|---|
| 2025-06-01 | 0 | NULL | true |
| 2025-06-02 | 1 | NULL | false |
| 2025-06-03 | 2 | NULL | false |
| 2025-06-04 | 3 | NULL | false |
| 2025-06-05 | 4 | NULL | false |
| 2025-06-06 | 5 | NULL | false |
| 2025-06-07 | 6 | NULL | true |
| 2025-06-08 | 0 | NULL | true |
| 2025-06-09 | 1 | NULL | false |
| 2025-06-10 | 2 | NULL | false |
| 2025-06-11 | 3 | NULL | false |
| 2025-06-12 | 4 | NULL | false |
| 2025-06-13 | 5 | NULL | false |
| 2025-06-14 | 6 | Yangi yil | true |
O'xshash masalalar
Konsol
Natijani ko'rish uchun so'rovni ishga tushiring.
