Gəlin çox banal, amma həyati vacib bir həqiqətlə başlayaq: məlumatlar çox vaxt "çiy" olur. Qarışıq rəqəmlər, tarixlər və ya sətirlər axını başa düşmək çətindir. Təsəvvür elə bir hesabat var, tarixlər müxtəlif formatdadır: bəziləri 01/02/2023 kimi, bəziləri isə 2023-02-01 kimi yazılıb. Bu, ən diqqətli analitikləri belə çaşdıra bilər. Bax, burada məlumatların formatlaşdırılması sehrə çevrilir.
Məlumatların formatlaşdırılması imkan verir ki:
- Məlumatları oxunaqlı və rahat formata salasan, işləmək asan olsun.
- Data lifehackeri olasan, lazım olan informasiyanı tez çıxardasan.
- Məlumatları eksport və ya başqa sistemlərlə inteqrasiya üçün hazırlayasan.
- Hesabat və vizuallaşdırmaları oxunaqlı və dəqiq edəsən.
Təsəvvür elə universitetdə işləyirsən və sənə hesabat lazımdır ki, bütün tələbələri tam adı, doğum tarixi və fakültəsi ilə göstərəsən. Məlumatları əl ilə birləşdirmək əvəzinə, formatlaşdırma ilə sorğu yazırsan, ad və soyadı bir sütunda birləşdirirsən, doğum tarixini isə aydın formada çıxarırsan, məsələn, 12 mart 2001 kimi.
Məlumatların formatlaşdırılmasının əsas vəzifələri
Formatlaşdırmanı meyvə salatı doğramağa bənzətmək olar. Sadəcə bir yığın meyvəni qaba atmaq yox, onları gözəl doğrayıb düzümək lazımdır. SQL-də bu iş bir neçə tip tapşırığa bölünür:
Sətirlərin formatlaşdırılması
Bura sətirlərin birləşdirilməsi, registerin dəyişdirilməsi (bütün hərfləri böyük və ya kiçik etmək), boşluq və simvolların əlavə və ya silinməsi daxildir.
Rəqəmlərin formatlaşdırılması
Bəzən rəqəmləri sətirə çevirmək və ya vergüldən sonra müəyyən sayda rəqəmə qədər yuvarlaqlaşdırmaq faydalı olur.
Tarix və vaxtla işləmək
Burada məsələn, cari tarixi almaq, vaxt məlumatını formatlaşdırmaq və ya tarixdən müəyyən hissəni çıxarmaq (məsələn, il və ya ay) kimi işləri avtomatlaşdıra bilərsən.
Unikal dəyərlərin çıxarılması
Əgər hesabatda yalnız unikal qeydlər (məsələn, unikal şəhərlər və ya fakültələr) göstərmək lazımdırsa, bu da məlumatların formatlaşdırılmasına aiddir.
PostgreSQL-də formatlaşdırma üçün alətlər
Məlumatlarla işləmək üçün PostgreSQL çoxlu daxili funksiyalar verir. Gələcək dərslərdə ətraflı danışacağımız bəzi nümunələr:
Sətirlərin formatlaşdırılması
CONCAT(): sətirlərin birləşdirilməsi.UPPER(),LOWER(): mətnin registerini dəyişmək.
Tarix və vaxtın formatlaşdırılması
NOW(): cari tarix və vaxt.CURRENT_DATE: cari tarix (vaxtsız).DATE_PART(): tarixdən hissələri çıxarmaq, məsələn, il və ya ay.
Tip çevirmə
CAST(): məlumat tipini dəyişmək.- Sintaksis:
<dəyər>::<tip>.
Məlumatların sıralanması
ORDER BY: məlumatları bir və ya bir neçə sütuna görə sıralamaq.DISTINCT: unikal dəyərləri çıxarmaq.
Məlumatların formatlaşdırılması nümunəsi: praktikada necə görünür?
Səni maraqlandırmaq üçün bir neçə nümunəyə baxaq. Ən sadəsindən başlayaq.
Nümunə 1: Sətirin formatlaşdırılması
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM students;
Bu sorğu first_name və last_name-i bir sütunda full_name kimi birləşdirir. Məsələn, tələbənin adı "Otto", soyadı "Art" olsa, nəticə belə olacaq: "Otto Art".
Nümunə 2: Tarixin formatlaşdırılması
SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students;
Burada biz date_of_birth sütunundan yalnız doğum ilini çıxarırıq. Əgər doğum tarixi bazada 2001-03-15 olsa, nəticə 2001 olacaq.
Nümunə 3: Tip çevirmə
SELECT birth_year::text || ' il' AS formatted_year
FROM (
SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students
) subquery;
Bu sorğuda əvvəlcə doğum ilini çıxarırıq, sonra onu sətirə çevirib " il" əlavə edirik. Məsələn, nəticə belə olacaq: 2001 il.
Harada istifadə olunur?
Menecerlər üçün hesabatlar
Hamı "çiy" məlumat görmək istəmir. Məsələn, şirkətin dövriyyə hesabatında məbləğləri minliklərlə ayırmaq daha yaxşıdır (1,000,000 əvəzinə 1000000), tarixləri isə 21 FEB 2025 formatında göstərmək lazımdır.
Müştərilər üçün hesabatlar
Məsələn, müştəriyə məktub: "Hörmətli [Ad Soyad], sizin N123 sifarişiniz uğurla 12 oktyabr 2023-cü il tarixində çatdırıldı".
Başqa sistemlərlə inteqrasiya
Bəzi input formaları müəyyən məlumat formatı tələb edir: tarixlər ISO formatında, sətirlər registerə uyğun, rəqəmlər isə yuvarlaqlaşdırılmış olmalıdır.
Analitika və vizuallaşdırma
Təsəvvür elə qrafik və ya diaqram qurursan. Formatlaşdırma olmadan qrafiklər çox qəribə görünə bilər.
GO TO FULL VERSION