CodeGym /Kurslar /SQL SELF /Məlumatların formatlaşdırılması

Məlumatların formatlaşdırılması

SQL SELF
Səviyyə , Dərs
Mövcuddur

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_namelast_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.

2
Tapşırıq
SQL SELF, səviyyə, dərs
Bağlanıb
Sətirlərin birləşdirilməsi
Sətirlərin birləşdirilməsi
2
Tapşırıq
SQL SELF, səviyyə, dərs
Bağlanıb
Rəqəmlərin çevrilməsi və mətn əlavə edilməsi
Rəqəmlərin çevrilməsi və mətn əlavə edilməsi
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION