JavaRush /Курси /SQL SELF /Форматування даних

Форматування даних

SQL SELF
Рівень 5 , Лекція 0
Відкрита

Давай почнемо з банальної, але життєво важливої істини: дані самі по собі часто "сируваті". Нерозібраний потік цифр, дат чи рядків складний для сприйняття. Уяви звіт, де дати вказані у різних форматах: щось записано як 01/02/2023, а щось як 2023-02-01. Це може заплутати навіть найуважніших аналітиків. Ось тут і приходить на допомогу магія форматування даних.

Форматування даних дозволяє:

  • Перетворювати дані у зручний для сприйняття вигляд, що спрощує роботу з ними.
  • Ставати лайфхакером в аналізі даних, швидко витягуючи потрібну інформацію.
  • Готувати дані для експорту чи інтеграції з іншими системами.
  • Робити звіти та візуалізації читабельними та точними.

Уяви, що ти працюєш в університеті і тобі треба створити звіт, щоб перелічити всіх студентів з їх повним ім'ям, датою народження та факультетом. Замість того щоб вручну склеювати дані, ти використовуєш запит з форматуванням, який об'єднує ім'я та прізвище в одному стовпці, а дату народження виводить у зрозумілому вигляді, наприклад, 12 березня 2001.

Основні задачі форматування даних

Форматування можна порівняти з нарізанням фруктового салату. Тобі треба не просто взяти купу фруктів і кинути їх у миску, а й красиво нарізати і розкласти все на тарілці. В SQL ця робота ділиться на кілька типів задач:

Форматування рядків

Це може включати об'єднання рядків, зміну регістру (заміна всіх символів на великі чи малі), додавання або видалення пробілів і символів.

Форматування чисел

У деяких випадках корисно перетворити числа у рядки або округлити їх до потрібної кількості знаків після коми.

Робота з датами та часом

Тут можна автоматизувати задачі на кшталт отримання поточної дати, форматування часових даних чи витягування певних частин дати (наприклад, тільки рік або тільки місяць).

Витягування унікальних значень

Якщо твоєму звіту треба показувати лише унікальні записи (наприклад, унікальні міста чи факультети), то це теж стосується форматування даних.

Інструменти для форматування в PostgreSQL

Для роботи з даними PostgreSQL дає великий набір вбудованих функцій. Ось лише невеликий список того, про що ми детально поговоримо у наступних лекціях:

Форматування рядків

  • CONCAT(): об'єднання рядків.
  • UPPER(), LOWER(): зміна регістру тексту.

Форматування дат і часу

  • NOW(): поточна дата і час.
  • CURRENT_DATE: поточна дата (без часу).
  • DATE_PART(): витягування частин дати, наприклад, року чи місяця.

Перетворення типів

  • CAST(): зміна типу даних.
  • Синтаксис: <значення>::<тип>.

Сортування даних

  • ORDER BY: сортування даних по одному чи декількох стовпцях.
  • DISTINCT: витягування унікальних значень.

Приклад форматування даних: як це виглядає на практиці?

Щоб тебе зацікавити, давай розглянемо кілька прикладів. Почнемо з простого.

Приклад 1: Форматування рядка

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM students;

Цей запит об'єднує first_name і last_name в один стовпець full_name. Наприклад, якщо ім'я студента — "Otto", а прізвище — "Art", результат буде: "Otto Art".

Приклад 2: Форматування дати

SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students;

Тут ми витягуємо лише рік народження зі стовпця date_of_birth. Якщо дата народження в базі — 2001-03-15, результат буде 2001.

Приклад 3: Перетворення типів

SELECT birth_year::text || ' рік' AS formatted_year
FROM (
  SELECT DATE_PART('year', date_of_birth) AS birth_year
  FROM students
) subquery;

У цьому запиті ми спочатку витягуємо рік народження, а потім перетворюємо його у рядок, додаючи рядок " рік". Наприклад, результат буде: 2001 рік.

Де це використовується?

Звіти для менеджерів

Не всі хочуть бачити "сирі" дані. Наприклад, у звіті про обіг компанії краще вказувати суми з розділенням на тисячі (1,000,000 замість 1000000), а дати — у форматі 21 FEB 2025.

Звіти для клієнтів

Наприклад, лист клієнту з текстом: "Шановний [Ім'я Прізвище], ваше замовлення N123 було успішно доставлено 12 жовтня 2023 року".

Інтеграція з іншими системами

Деякі форми введення вимагають певного формату даних: дати можуть бути у форматі ISO, рядки — з урахуванням регістру, числа — округленими.

Аналітика та візуалізація

Уяви, що ти будуєш графіки чи діаграми. Без форматування графіки можуть виглядати дуже некоректно.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ