FROM offices
ORDER BY 3 DESC
Shu kаbi ORDER BY ifоdаsidа maydonlаr nоmlаri vа raqamlаri, hamdа DESC, ASC predikаtlаrini qo‘llаb murаkkаb tаrtiblаsh shаrtlаrini hоsil qilish mumkin.
Mаsаlаn: Regiоnlаr nоmlаri, har bir regiоndа sоtuvlаr haqiqiy vа rejаdаgi hajmlаri аyirmаsining kаmаyish tаrtibidа оfislаr ro‘yхаtini chiqаring.
SELECT city, region, (sales – target)
FROM offices
ORDER BY region ASC, 3 DESC
Vaqt va sana bilan ishlash
“Oracle” vaqt va sana bilan ishlovchi bir nechta funksiyalarni taklif qiladi. Bu funksiyalar yordamida sanani qismlarga ajratish (yil, oy, kun), o‘tgan vaqtni hisoblash kabi amallarni bajarish mumkin.
Quyidagi so‘rov har bir ishchi-xodimning tug‘ilgan kunini, yoshini va joriy sanani chop etadi:
SELECT last_name, birth, SYSDATE,
TRUNC(SYSDATE – birth)/365.25) AS age FROM personal_info
Вu misolda SYSDATE – joriy sanani aniqlaydi, TRUNC() – haqiqiy sonning butun qismini ajratib oladi. Hisoblanuvchi maydon uchun maydon nomi sifatida age so‘zi o‘rnatildi, buning uchun AS kalit so‘zidan foydalanilgan.
Ishchi-xodimlar ma’lumotlarini yoshi bo‘yicha tartiblash uchun ORDER BY operatoridan foydalaning:
SELECT last_name, birth, SYSDATE,
TRUNC(SYSDATE – birth)/365.25) AS age FROM personal_info ORDER BY age
“Oracle”da sana bilan ishlovchi funksiyalar:
TO_CHAR(d[,mask]) – maxsus maskadan sanani satrga o‘giradi. 1jadvalda ko‘p qo‘llaniladigan formatlash usullari ko‘rsatilgan.
EXTRACT(mask FROM d) – sananing biror qismini kesib oladi (year – yil, month – oy, day – kun).
Masalan, sanadan yilni ajratib olish uchun quyidagi ikkita usuldan foydalanish mumkin:
va EXTRACT(year FROM birth)
Birinchi holda yil kattaligi satrli, ikkinchisida sonli turga ega bo‘ladi.
1-jadval.
Do'stlaringiz bilan baham: |