Mengonversi tipe data

Pelaporan dengan SQL

Tyler Pernes

Learning & Development Consultant

Tujuan bab

Pelaporan dengan SQL

Tipe data “berantakan”

Pelaporan dengan SQL

Isu 1: Fungsi khusus tipe

Pelaporan dengan SQL

Isu 1: Fungsi khusus tipe

Pelaporan dengan SQL

Isu 1: Fungsi khusus tipe

Pelaporan dengan SQL

Isu 2: Menggabungkan tabel (JOIN)

Pelaporan dengan SQL

Isu 2: Menggabungkan tabel (JOIN)

Pelaporan dengan SQL

Isu 2: Menggabungkan tabel (JOIN)

Pelaporan dengan SQL

Isu 2: Menggabungkan tabel (UNION)

Pelaporan dengan SQL

Isu 2: Menggabungkan tabel (UNION)

Pelaporan dengan SQL

Menafsirkan galat

Galat Fungsi Khusus Tipe:

SELECT AVG(first_name)
FROM athletes;
ERROR: Function avg(character varying) does not exist

Galat JOIN:

SELECT country, continent
FROM countries AS c1
JOIN continents AS c2
ON c1.continent_id = c2.id;
ERROR: Operator does not exist: integer = character varying
Pelaporan dengan SQL

Solusi: Bungkus dengan CAST()

Sintaks:

CAST(field AS type)

Contoh:

CAST(birthday AS date)
CAST(country_id AS int)
Pelaporan dengan SQL

CAST untuk fungsi

SELECT DATE_PART('month',birthdate)
FROM birthdates;
ERROR: Can't run DATE_PART on string.
SELECT DATE_PART('month', 
       CAST(birthdate AS date)) 
FROM birthdates;
+-----+
| 04  |
| 05  |
+-----+

Pelaporan dengan SQL

CAST untuk JOIN

SELECT a.id, b.id
FROM table_a AS a
JOIN table_b AS b
ON a.id = b.id;
ERROR: Cannot join ON varchar = int.
SELECT a.id, b.id
FROM table_a AS a
JOIN table_b AS b
ON a.id = CAST(b.id AS varchar);
Query Ran Successfully!

Pelaporan dengan SQL

Merencanakan isu tipe data

  • Perbaiki saat muncul
  • Baca pesan galat!
Pelaporan dengan SQL

Merencanakan isu tipe data

SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = 'countries';
+--------------+--------------------+
| column_name  | data_type          |
|--------------|--------------------|
| id           | integer            |
| country      | character varying  |
| region       | character varying  |
+--------------+--------------------+
Pelaporan dengan SQL

Dokumentasi tipe data

Pelaporan dengan SQL

Ayo berlatih!

Pelaporan dengan SQL

Preparing Video For Download...