Tarkibga o'tish

008. Sana va vaqt

Bu mavzuda EXTRACT, DATE_TRUNC, AGE, INTERVAL va TO_CHAR bo'yicha 44 ta masala bor. Har bir masala oldida qavs ichida sxema nomi va qiyinlik darajasi ko'rsatilgan. Sxemalar Sxemalar va tayyorlov sahifasida berilgan.

Masalani o'zingiz yechib, natijani Kutilgan natija bilan solishtiring. O'zgartiruvchi masalalarda (INSERT, UPDATE, DELETE, DDL) natija shartda aytilgan tekshiruv so'rovidan olingan. Natija 10 qatordan ko'p bo'lsa, birinchi 10 qator ko'rsatilgan.

1. (dokon, oson) 2024-03-15 sanasining yilini, oyini va kunini EXTRACT bilan chiqaring (y,o,k).

Kutilgan natija
2024 | 3 | 15

2. (dokon, oson) Buyurtmalar yillik taqsimoti: yil bo'yicha buyurtmalar soni (yil, soni).

Kutilgan natija
2024 | 60

3. (sana, oson) 2024-03-01 ga 30 kun qo'shing (sana).

Kutilgan natija
2024-03-31

4. (dokon, oson) 2024-12-25 va 2024-01-01 orasidagi kunlar farqini chiqaring (kun).

Kutilgan natija
359

5. (sana, oson) 2024-01-31 ga 1 oy qo'shing (INTERVAL) (sana).

Kutilgan natija
2024-02-29

6. (dokon, oson) 2024-05-17 sanasi haftaning qaysi kuni (0=yakshanba) ekanini DOW bilan chiqaring.

Kutilgan natija
5

7. (dokon, oson) Buyurtmalarning oy bo'yicha sonini chiqaring (oy raqami, soni).

Kutilgan natija
1 | 6
2 | 5
3 | 7
4 | 6
5 | 6
6 | 6
7 | 6
8 | 6
9 | 6
10 | 6

8. (dokon, o'rta) DATE_TRUNC yordamida buyurtmalar sonini oylar bo'yicha chiqaring (oy_boshi, soni).

Kutilgan natija
2024-01-01 | 6
2024-02-01 | 5
2024-03-01 | 7
2024-04-01 | 6
2024-05-01 | 6
2024-06-01 | 6
2024-07-01 | 6
2024-08-01 | 6
2024-09-01 | 6
2024-10-01 | 6

9. (dokon, o'rta) Mijozlarni ro'yxatdan o'tgan yil bo'yicha sanang (yil, soni).

Kutilgan natija
2023 | 28
2024 | 2

10. (muddat, o'rta) Har bir buyurtma sanasidan 14 kun keyingi sanani (muddat) chiqaring (birinchi 5).

Kutilgan natija
1 | 2024-01-20
2 | 2024-01-25
3 | 2024-01-30
4 | 2024-02-04
5 | 2024-02-09

11. (dokon, o'rta) Buyurtma sanasini 'DD.MM.YYYY' formatida TO_CHAR bilan chiqaring (birinchi 5).

Kutilgan natija
1 | 06.01.2024
2 | 11.01.2024
3 | 16.01.2024
4 | 21.01.2024
5 | 26.01.2024

12. (dokon, o'rta) Oxirgi buyurtma va birinchi buyurtma orasidagi kunlar sonini chiqaring.

Kutilgan natija
295

13. (dokon, o'rta) Dushanba kuni berilgan buyurtmalar sonini chiqaring (ISODOW=1).

Kutilgan natija
8

14. (dokon, o'rta) 2024-02 oyidagi kunlar sonini chiqaring (oy oxiri - oy boshi).

Kutilgan natija
29

15. (dokon, o'rta) Har bir buyurtma uchun chorak raqamini (EXTRACT quarter) chiqaring va choraklar bo'yicha sonini ko'rsating.

Kutilgan natija
1 | 18
2 | 18
3 | 18
4 | 6

16. (maktab, oson) O'quvchilarning tug'ilgan yilini chiqaring (yil bo'yicha soni).

Kutilgan natija
2008 | 18
2009 | 14
2010 | 8

17. (maktab, oson) Baholar qo'yilgan oylar bo'yicha soni (oy, soni).

Kutilgan natija
9 | 39
10 | 40
11 | 40
12 | 31

18. (maktab, oson) O'qituvchining ish boshlagan yilini chiqaring (ism, yil).

Kutilgan natija
Gulnora Saidova | 2006
Shuhrat Nazarov | 2007
Malika Qodirov | 2008
Rustam Saidova | 2010
Feruza Nazarov | 2011
Anvar Qodirov | 2012
Gulnora Saidova | 2013
Shuhrat Nazarov | 2014
Malika Qodirov | 2015
Rustam Saidova | 2016

19. (maktab, o'rta) O'qituvchilarning 2025-01-01 holatiga ish staji (to'liq yillarda) ni AGE bilan chiqaring.

Kutilgan natija
Gulnora Saidova | 18
Shuhrat Nazarov | 17
Malika Qodirov | 16
Rustam Saidova | 14
Feruza Nazarov | 13
Anvar Qodirov | 12
Gulnora Saidova | 11
Shuhrat Nazarov | 10
Malika Qodirov | 9
Rustam Saidova | 8

20. (maktab, o'rta) O'quvchilarning 2025-01-01 holatiga yoshini (to'liq yil) chiqaring (birinchi 5).

Kutilgan natija
Madina Karimova | 16
Sherzod Ismoilov | 16
Nilufar Hasanova | 16
Doniyor Ergashev | 16
Sevara Karimova | 16

21. (maktab, o'rta) Shanba-yakshanba kuni kiritilgan baholar sonini chiqaring.

Kutilgan natija
45

22. (maktab, o'rta) Davomat yozuvlarini hafta (ISO haftasi) bo'yicha sanang (hafta, soni).

Kutilgan natija
40 | 24
41 | 28
42 | 28

23. (maktab, o'rta) 2024-09-01 dan boshlab har baho sanasigacha o'tgan kunlar sonini chiqaring (birinchi 5 baho).

Kutilgan natija
1 | 4
2 | 7
3 | 10
4 | 13
5 | 16

24. (bank, oson) Tranzaksiyalar yil-oy bo'yicha sonini TO_CHAR(sana,'YYYY-MM') bilan chiqaring.

Kutilgan natija
2024-01 | 43
2024-02 | 41
2024-03 | 16

25. (bank, oson) Hisoblar ochilgan yillar bo'yicha sonini chiqaring.

Kutilgan natija
2020 | 12
2021 | 12
2022 | 12
2023 | 4

26. (bank, o'rta) Tranzaksiyalarning soat bo'yicha taqsimoti (soat, soni).

Kutilgan natija
0 | 4
1 | 4
2 | 5
3 | 4
4 | 4
5 | 5
6 | 4
7 | 4
8 | 4
9 | 4

27. (bank, o'rta) Tranzaksiya sanasini faqat sana (::date) ga o'tkazib, kunlik jami summani chiqaring (birinchi 5 kun).

Kutilgan natija
2024-01-02 | 396295.00
2024-01-03 | 346295.00
2024-01-04 | 988885.00
2024-01-05 | 642590.00
2024-01-06 | 741355.00

28. (bank, o'rta) Mijozlarning 2025-01-01 holatiga yoshini chiqaring va 60 dan oshganlar sonini hisoblang.

Kutilgan natija
3

29. (bank, o'rta) Tranzaksiya sanasidan 3 soat keyingi vaqtni chiqaring (birinchi 3).

Kutilgan natija
1 | 2024-01-02 05:00:00
2 | 2024-01-02 22:00:00
3 | 2024-01-03 15:00:00

30. (bank, o'rta) Birinchi va oxirgi tranzaksiya orasidagi vaqt farqini kunlarda (butun) chiqaring.

Kutilgan natija
70

31. (bank, o'rta) Hisob ochilganiga 2025-01-01 holatida necha oy bo'lganini (oy hisobida) chiqaring (birinchi 5).

Kutilgan natija
1 | 59
2 | 58
3 | 57
4 | 56
5 | 55

32. (kutubxona, oson) Ijaralarni olingan oy bo'yicha sanang.

Kutilgan natija
1 | 7
2 | 7
3 | 8
4 | 8
5 | 7
6 | 8
7 | 8
8 | 7
9 | 8
10 | 2

33. (kutubxona, oson) A'zolar ro'yxatdan o'tgan yil bo'yicha soni.

Kutilgan natija
2022 | 18
2023 | 7

34. (kutubxona, o'rta) Qaytarilgan ijaralar uchun ushlab turish kunlari o'rtachasini (1 xona) chiqaring.

Kutilgan natija
10.4

35. (kutubxona, o'rta) 14 kundan ortiq ushlab turilgan ijaralar sonini chiqaring.

Kutilgan natija
8

36. (kutubxona, o'rta) Ijaraning qaytarish muddati: olingan+14. Muddatidan keyin qaytarilgan ijaralar id sini chiqaring.

Kutilgan natija
11
22
23
34
46
47
58
59

37. (kutubxona, o'rta) Har bir yil-chorak uchun ijaralar soni (TO_CHAR 'YYYY-"Q"Q').

Kutilgan natija
2024-Q1 | 22
2024-Q2 | 23
2024-Q3 | 23
2024-Q4 | 2

38. (kutubxona, o'rta) Ijara olingan oy nomi (TO_CHAR 'Month') va soni bo'yicha chiqaring, oy raqami tartibida.

Kutilgan natija
January | 7
February | 7
March | 8
April | 8
May | 7
June | 8
July | 8
August | 7
September | 8
October | 2

39. (kutubxona, qiyin) Har bir a'zo ro'yxatdan o'tgan sanadan keyin birinchi ijarasigacha necha kun o'tganini (a'zo id, kun) chiqaring; ijarasi yo'qlar chiqarilmasin.

Kutilgan natija
1 | 810
2 | 758
3 | 706
4 | 654
5 | 702
6 | 650
7 | 598
8 | 646
9 | 594
10 | 542

40. (dokon, qiyin) Har bir oyning oxirgi kunini (DATE_TRUNC + interval) buyurtma oylari uchun chiqaring (oy_oxiri, soni).

Kutilgan natija
2024-01-31 | 6
2024-02-29 | 5
2024-03-31 | 7
2024-04-30 | 6
2024-05-31 | 6
2024-06-30 | 6
2024-07-31 | 6
2024-08-31 | 6
2024-09-30 | 6
2024-10-31 | 6

41. (dokon, qiyin) Buyurtmalar orasidagi eng katta bo'shliqni (ketma-ket sanalar farqi) LAG yordamida kunlarda chiqaring.

Kutilgan natija
5

42. (maktab, qiyin) Hafta kunlari bo'yicha (1=dushanba..7=yakshanba) davomatda 'kelmadi' lar sonini chiqaring.

Kutilgan natija
1 | 4
2 | 4
4 | 4
5 | 4
6 | 4

43. (bank, qiyin) Har bir mijoz uchun birinchi hisob ochilgan sana va oxirgisi orasidagi kunlar farqini chiqaring (faqat 2 va undan ko'p hisobi borlar).

Kutilgan natija
1 | 900
4 | 900
7 | 900
10 | 900
13 | 900
16 | 900
19 | 900
22 | 900
25 | 900
28 | 900

44. (bank, qiyin) generate_series bilan 2024-01-01 dan 2024-01-07 gacha barcha kunlarni va hafta kun nomini (TO_CHAR 'Dy') chiqaring.

Kutilgan natija
2024-01-01 | Mon
2024-01-02 | Tue
2024-01-03 | Wed
2024-01-04 | Thu
2024-01-05 | Fri
2024-01-06 | Sat
2024-01-07 | Sun