Sql tilida matematik funksiyalaridan quyidagilar ishlatiladi


Download 1.48 Mb.
Sana29.11.2020
Hajmi1.48 Mb.
#154959
Bog'liq
Презентация 11

  • РЕЖА:
  • Matematik standart funksiyalar.
  • Standart funksiyalar.
  • Маърузачи: PhD Усмонов Ж.Т
  • 27.11.20

SQL tilida matematik funksiyalaridan quyidagilar ishlatiladi:

  • SQL tilida matematik funksiyalaridan quyidagilar ishlatiladi:
  • ABS (son) –sonning absolyut qiymatini hisoblaydi;
  • RAND(son) – 0 va 1 oralig’ida berguli siljiydigan tasodifiy sonni hisoblaydi; RAND()*5+5;
  • ROUND(son, aniqlik) – ko’rsatilgan aniqlikda sonni yaxlitlaydi.
  • POWER(son, daraja) – sonni ko’rsatilgan darajaga ko’taradi;
  • SORT(son) – sondan kvadrat ildiz chiqaradi;
  • SIN(burchak) – radianlarda ifodalangan burchak sinusini hisoblaydi;
  • COS(burchak) – radianlarda ifodalangan burchak kosinusini hisoblaydi;
  • EXP(son) –sonnining eksponentasini hisoblaydi;
  • LOG(son) –sonning natural logarifmini hisoblaydi;
  • Funksiyalar
  • Ta`riflar
  • ASCII
  • Muayyan belgi uchun ASCII qiymatini qaytaradi
  • CHAR_LENGTH
  • Satr uzunligini qaytaradi (belgilar bilan)
  • CONCAT
  • Birgalikda ikki yoki undan ortiq ustunlarni qo'shadi
  • CONCAT_WS
  • Ajratuvchi bilan birga ikki yoki undan ortiq ustunlarni qo'shadi
  • FIELD
  • Biror qiymatlar ro'yxatidagi ko'rsatkichning o'rnini qaytaradi
  • FIND_IN_SET
  • Satrlar ro'yxatidagi satr o'rnini qaytaradi
  • FORMAT
  • Raqamni "#, ###, ###. ##" kabi formatga, o'nlik kasrlarning aniqlangan soniga qadar aylantiradi.
  • INSERT
  • Belgilangan joyda va ma'lum miqdordagi belgilar uchun satrni ichiga qo'shib qo'yadi
  • INSTR
  • Berilgan belgini holatini aniqlaydi
  • LOCATE
  • Satrda birinchi satrning birinchi paydo bo'lishi holatini qaytaradi
  • LTRIM
  • Satrdan bo`sh joylarni olib tashlaydi
  • POSITION
  • Satrda birinchi satrning birinchi paydo bo'lishi holatini qaytaradi
  • REPEAT
  • Belgilangan qatorni takrorlang
  • REPLACE
  • REVERSE
  • Satrni o'zgartiradi va natijani qaytaradi
  • RTRIM
  • Satr ichidagi bo'sh joylarni olib tashlaydi
  • SPACE
  • Belgilangan bo'sh joy belgilarining qatorini qaytaradi
  • STRCMP
  • Ikki sonni taqqoslaydi
  • SUBSTRING_INDEX
  • Belgilangan miqdordagi ajratish yuz berishidan oldin satrning pastki satrini qaytaradi
  • TRIM
  • Satrdan etakchi va keyingi bo'shliqlarni olib tashlaydi

ASCII()

  • ASCII()
  • ASCII() funksiyasi kerakli ASCII qiymatini qaytaradi. Agar bittadan ortiq belgi kiritilgan bo'lsa, u faqat birinchi belgi qiymatini qaytaradi.
  • SELECT Familiya, ASCII(Ism) AS Qiymati FROM Talaba;
  • CONCAT()
  • Kerakli birgalikda qo'shiladigan ustunlar. Agar biron bir ifoda NULL bo'lsa, u NULLni qaytaradi.
  • SELECT Familiya, CONCAT(shahar, " ", tuman, " ", manzil) AS manzil FROM talaba;

CONCAT_WS()

  • CONCAT_WS()
  • Har bir ustunni orasiga qo'shish uchun ajratuvchi. Agar ajratuvchi NULL bo'lsa, bu funktsiya NULLni qaytaradi.
  • SELECT Familiya, CONCAT_WS (" ", shahar, tuman, manzil) AS manzil FROM talaba;
  • FIELD()
  • Qiymatlar ro'yxatidagi ko'rsatkichning o'rnini qaytaradi. Ushbu funktsiya katta-kichikligini farqlamaydigan qidiruvni amalga oshiradi. Agar belgilangan qiymat qiymatlar ro'yxatida topilmasa, bu funktsiya 0 ni qaytaradi. Agar NULL qiymati bo'lsa, bu funktsiya 0 ni qaytaradi.
  • SELECT FIELD("Q", "s", "q", “l");

FORMAT()

  • FORMAT()
  • Raqam uchun o'nlik sonlar soni. Ushbu parametr 0 bo'lsa, bu funktsiya o'nlik sonlarsiz satrni qaytaradi
  • SELECT FORMAT(stipendiya, '#,#,#') from talaba;
  • INSERT()
  • Funktsiya belgilangan joyga va ma'lum miqdordagi belgilar uchun qatorni qo'shib qo'yadi.
  • SELECT INSERT(Manzil, 1, 5, “Yashnaobod") FROM Talaba WHERE Manzil=“Hamza”;
  • INSTR ()
  • funktsiya berilgan belgini holatini qaytaradi. Ushbu funktsiya katta-kichikligini sezmaydigan qidirishni amalga oshiradi
  • SELECT ism, INSTR(familiya, "a") FROM Talaba;

LOCATE(substringstringstart)

  • LOCATE(substringstringstart)
  • funksiya satrda belgini qidiradi. Ushbu funksiya katta-kichikligini sezmaydigan qidirishni amalga oshiradi
  • SELECT LOCATE("a", Familiya, 2) FROM Talaba;
  • LTRIM()
  • funksiya satrdan bo`sh joylarni olib tashlaydi
  • SELECT LTRIM(Manzil) From Talaba;
  • POSITION()
  • funksiya satrda belgini qidiradi. Ushbu funktsiya katta-kichikligini sezmaydigan qidirishni amalga oshiradi
  • SELECT POSITION("a" IN Familiya)FROM Talaba;

replace

  • replace
  • Ismining boshlanishi “D” bо‘lgan ismlarni “Y” harfiga о‘zgartirib, barcha ismlar ekranga chiqarish.
  • select replace(ism, 'D', 'Y') from talaba;
  • REPEAT ()
  • funksiya ko`rsatilgan qatorni takrorlaydi
  • SELECT REPEAT(“ism", 3) from talaba;

Sana funksiyalari bilan ishlash

  • Sо‘rov berishda ma’lumotlar kiritilgan bo`lsa kiritilgan ma’lumotlar orqali natija chiqarib beriladi. Asosan test qilish jarayonida yoki о‘rganish oralig‘ida, bunday jadvaldan foydalanish qulay hisoblanadi.
  • Demak funksiyalarni birma-bir ko`rib chikamiz. Ma’lum bir oraliqdagi kunda, qancha oy mavjudligini chiqarib beradigan funksiya –months_between.
  • Select months_between('01-Jan-2020', '01-Jan-2015') from dual;

Agar sana teskari kо‘rinishda bo`lsa, “-” ishorada bо‘ladi, agar kun bir xilda bо‘lmasa, butun son ham chiqmaydi. Bu unchalik muammoli narsa emas, butun qismi olinadi xolos.

  • Agar sana teskari kо‘rinishda bo`lsa, “-” ishorada bо‘ladi, agar kun bir xilda bо‘lmasa, butun son ham chiqmaydi. Bu unchalik muammoli narsa emas, butun qismi olinadi xolos.
  • Select months_between('01-jan-2015', '23-jan-2020') from dual;

add_months

  • add_months
  • Berilgan sana oyiga berilgan son miqdorida oyni qо‘shib chiqaradi. Masalan berilgan sanadagi oyga 3 oyni qо‘shib chiqarish talab qilinsin:
  • Select add_months('01-Jan-00', 3) from dual;
  • next_day
  • Berilgan sanadan keyingi biror bir hafta kunining sanasi kerak bо‘lsa, “next_day” funksiyasidan foydalaniladi. Masalan: 01.10.05 sana berilgan, keyingi juma qaysi sana bо‘lishini topish.
  • select next_day('01-OCT-05', 'Friday') from dual;

last_day

  • last_day
  • Undan biror sana oyining oxirgi kunini topish uchun foydalaniladi. Masalan: 01-FEB-03 berilgan, bu fevral oyi deganidir, shu oy uchun oxirgi kunni sanasini topish kerak.
  • Select last_day('01-FEB-03') from dual
  • sysdate
  • Misol uchun sanani butunlashdan iborat bo`lsin. Agar oydagi kun yarmidan о‘tgan bо‘lsa, keyingi oy kо‘rinishida chiqaradi. Bu misol uchun operatsion tizimdagi sanani kо‘rsatib о‘tish joiz, ya’ni bugungi sana –29.09.2013.
  • select round (sysdate, 'month') from dual;

trunc

  • trunc
  • Berilgan sanani berilgan parametri orqali (oy, yil) boshiga о‘tkazib beradi. Masalan, tizim sanasidagi oyning boshiga о‘tish talab kilinsa:
  • Select trunc(sysdate, 'month') from dual;

Ma’lumotlar bazasida vaqt va kunni kо‘rsatish uchun alohida toifa mavjud (date) va bu toifani jadval yaratishda kо‘rsatib ketish kerak. Bu qismda “vaqt” nomli jadval kerak bо‘ladi va u quyidagi ustun va ma’lumotlardan tashkil topgan.

  • Ma’lumotlar bazasida vaqt va kunni kо‘rsatish uchun alohida toifa mavjud (date) va bu toifani jadval yaratishda kо‘rsatib ketish kerak. Bu qismda “vaqt” nomli jadval kerak bо‘ladi va u quyidagi ustun va ma’lumotlardan tashkil topgan.
  • Kо‘rib turganingizdek, “sana” ustuni kun, oy, yil, soat, minut va soniya kо‘rinishida berilgan. Sanani qanday kiritishdan qat’iy nazar, uni shunday kо‘rinishda chiqaradi. Oracleda bu chiqarishni quyidagi komanda orqali о‘zgartirish mumkin bо‘ladi:

alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss';

  • alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss';
  • Shundan sо‘ng bu jadvalni yana bir bor chaqiramiz:
  • select * from vaqt;
  • select to_char(sana, 'dd/mm/yyyy' hh12:mi:ss) from vaqt

to_char

  • to_char
  • Bu funksiya belgilangan ustunni char tipiga aylantirib beradi.
  • Sana va vaqtlarni odatiy chiqarishni kо‘rib chikdik, endi ularni tahrirlab chiqarishni kо‘rib chiqamiz.
  • alter session set nls_date_format = 'dd.mm.yy hh24:mi:ss';
  • Dastlabki sо‘rov, 2010 yildan yuqori bо‘lgan ma’lumotlarni chiqaramiz..
  • select * from vaqt where sana>'31.12.10';

Sо‘rov berishda kun, oy, yil va vaqtlarni oddiy arifmetik amallar orqali о‘zgartirish mumkin. Bir kun keyingi sanani chiqaramiz:

  • Sо‘rov berishda kun, oy, yil va vaqtlarni oddiy arifmetik amallar orqali о‘zgartirish mumkin. Bir kun keyingi sanani chiqaramiz:
  • select sysdate, sysdate+1 from dual;

Agregat funksiyalar

  • select count(*) from test;
  • select count(distinct yosh) from test;
  • select sum(maosh) from test where ism=‘Qosim';

Select avg(yosh) from test;

  • Select avg(yosh) from test;
  • select max(yosh) from test;
  • select min(yosh) from test;

select avg(yosh), ism from test group by ism;

  • select avg(yosh), ism from test group by ism;

Download 1.48 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling