Tarkibga o'tish

010. CAST va ma'lumot turlari

Bu mavzuda turlarni o'zgartirish va tekshirish bo'yicha 24 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) '123' satrini butun songa aylantiring va 7 qo'shing (natija).

Kutilgan natija
130

2. (matn, oson) 42 sonini CAST yordamida matnga aylantiring (matn) va uzunligini (uzunlik) chiqaring.

Kutilgan natija
42 | 2

3. (dokon, oson) '2024-05-20' satrini date turiga aylantirib, 10 kun qo'shing.

Kutilgan natija
2024-05-30

4. (natija, oson) 10 ni 4 ga bo'lganda kasr natija (natija) chiqishi uchun numeric ga cast qiling.

Kutilgan natija
2.5000000000000000

5. (dokon, oson) Mahsulot narxini butun songa (int) cast qiling (birinchi 5).

Kutilgan natija
1 | 12900
2 | 20800
3 | 28700
4 | 36600
5 | 44500

6. (dokon, o'rta) Mijoz id sini matnga cast qilib, ism bilan birlashtiring: 'id-ism' (birinchi 5).

Kutilgan natija
1-Vali Rahimova
2-Sardor Tursunov
3-Dilnoza Aliyev
4-Madina Yusupova
5-Jasur Karimov

7. (dokon, o'rta) '3.14159' ni numeric(5,2) ga cast qiling (pi).

Kutilgan natija
3.14

8. (a, o'rta) TRUE ni integer ga, 0 ni boolean ga cast qiling (a, b).

Kutilgan natija
1 | f

9. (tur, o'rta) Narxning ma'lumot turini pg_typeof bilan chiqaring (tur).

Kutilgan natija
numeric

10. (dokon, o'rta) Sana ustidan timestamp ga cast qilib, 12 soat qo'shing: 2024-01-01 uchun.

Kutilgan natija
2024-01-01 12:00:00

11. (maktab, oson) O'quvchi telefonining oxirgi 4 raqamini int ga cast qiling (birinchi 3, telefoni borlar).

Kutilgan natija
1 | 2345
2 | 4690
3 | 7035

12. (maktab, oson) Ball ustunini numeric ga cast qilib, ballar o'rtachasini 2 xonada chiqaring.

Kutilgan natija
3.00

13. (maktab, o'rta) Tug'ilgan sanani matn sifatida 'YYYYMMDD' (TO_CHAR) va int ga cast qiling (birinchi 3).

Kutilgan natija
1 | 20080221
2 | 20080329
3 | 20080505

14. (maktab, o'rta) pg_typeof bilan oquvchi.jins turi (tur) nima? (char(1)->bpchar).

Kutilgan natija
character

15. (bank, oson) Balansni bigint ga cast qiling (birinchi 5).

Kutilgan natija
1 | 1234567
2 | 2469134
3 | 3703701
4 | 4938268
5 | 6172835

16. (bank, oson) '2024-12-31 23:59:59' satrini timestamp ga cast qilib, yilini chiqaring.

Kutilgan natija
2024

17. (bank, o'rta) Qarz muddatini (oy) yilga aylantirib (muddat_oy/12.0), butun songa yaxlitlab cast qiling (qarz id, yil), birinchi 5 ta.

Kutilgan natija
1 | 1
2 | 2
3 | 2
4 | 3
5 | 3

18. (bank, o'rta) 'abc' ni int ga cast qilish xato beradi. Xavfsiz tekshiruv: faqat raqamlardan iborat satrlarni (~ '^[0-9]+$') filtrlab cast qiling: '12','ab','7' uchun yig'indi.

Kutilgan natija
19

19. (bank, o'rta) Tranzaksiya summasini int ga, sanani date ga o'tkazib chiqaring (birinchi 3).

Kutilgan natija
1 | 148765 | 2024-01-02
2 | 247530 | 2024-01-02
3 | 346295 | 2024-01-03

20. (kutubxona, oson) Kitob yilini matnga cast qilib, 'yil: 1999' ko'rinishida chiqaring (birinchi 3).

Kutilgan natija
yil: 1961
yil: 1972
yil: 1983

21. (kutubxona, oson) 5 ni real ga, so'ng numeric ga cast qiling: 5/2 natijasi (natija).

Kutilgan natija
2.5

22. (kutubxona, o'rta) Ijara olingan sanani matnga aylantirib, uning birinchi 7 belgisini (YYYY-MM) chiqaring (birinchi 3).

Kutilgan natija
2024-01
2024-01
2024-01

23. (kutubxona, o'rta) '{1,2,3}' satrini integer[] ga cast qilib, birinchi elementini chiqaring.

Kutilgan natija
1

24. (kutubxona, qiyin) '2024-02-30' ni date ga cast qilish xato bo'ladi; to'g'ri sanalarni tekshirish uchun faqat '2024-02-28' ni cast qilib, keyingi kunni chiqaring (keyingi).

Kutilgan natija
2024-02-29