top of page
bg-grid 1.png

Fungsi CONVERT SQL: Panduan Komprehensif bagi Pemula

Fungsi CONVERT SQL adalah fungsi bawaan yang digunakan untuk mengubah format tipe data dari satu jenis ke jenis lainnya. Yuk, latihan bagaimana cara menggunakannya!

Data Analytics

RevoU Staff

Mau Belajar

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Untuk memulai perjalanan di dunia data analytics, SQL (Structured Query Language) merupakan bahasa yang harus kamu kuasai. Salah satu fungsi penting dalam SQL yaitu fungsi CONVERT.


Di SQL, fungsi CONVERT sering digunakan untuk mengubah tipe data dalam query. Namun, penting untuk dicatat bahwa tidak semua jenis Relational Database Management System (RDBMS) mendukung penggunaan fungsi CONVERT ini. 


Meskipun dapat digunakan di beberapa RDBMS yang umum seperti Microsoft SQL Server, MySQL, dan PostgreSQL, ada juga beberapa jenis RDBMS lain yang mungkin tidak memiliki fungsi CONVERT ini di dalam perangkat lunaknya. 


Oleh karena itu, penting untuk memahami kompatibilitas dari RDBMS yang digunakan sebelum mengimplementasikan fungsi CONVERT.


Artikel ini akan membahas secara mendalam tentang fungsi CONVERT SQL dan bagaimana

menggunakannya dalam analisis data sehari-hari.


Apa itu Fungsi Convert SQL?


Fungsi CONVERT SQL adalah fungsi bawaan yang digunakan untuk mengubah format tipe data dari satu jenis ke jenis lainnya.


Misalnya, kamu memiliki kolom tanggal di database yang disimpan dengan tipe data string, tetapi kamu perlu mengubahnya menjadi tipe data DATE untuk dianalisis lebih lanjut. Di sinilah

fungsi CONVERT diperlukan.


Mengapa Fungsi CONVERT SQL Penting?


Sebagai data analyst, kamu akan sering berhadapan dengan berbagai jenis data yang mungkin formatnya belum sesuai yang dibutuhkan. Adanya Fungsi CONVERT akan membantu dalam proses pembersihan dan persiapan data sebelum melakukan proses analisis data.


Selain itu, fungsi CONVERT juga berguna untuk mengubah format tampilan data, seperti mengubah format tanggal atau memformat angka dengan jumlah desimal tertentu.


Ada beberapa alasan mengapa tipe data perlu diubah saat kita akan melakukan analisis:


#1 Operasi matematika


Setiap tipe data memiliki aturan dan batasan sendiri untuk operasi matematika dan logika yang dapat dilakukan. 


Misalnya, operasi penjumlahan, pengurangan, perkalian, dan pembagian biasanya hanya bisa dilakukan pada tipe data seperti integer (bilangan bulat) dan float (bilangan pecahan). Jika kita mencoba melakukan operasi matematika pada tipe data yang tidak sesuai, seperti string, maka akan terjadi kesalahan.


#2 Penyimpanan memori


Tipe data juga mempengaruhi cara nilai-nilai tersebut disimpan di memori komputer. Setiap tipe data memiliki ukuran yang berbeda, yang menentukan berapa banyak ruang yang diperlukan untuk menyimpan nilai tersebut. 


Misalnya, tipe data integer biasanya membutuhkan lebih sedikit ruang dibandingkan dengan tipe data decimal yang memiliki presisi desimal yang lebih tinggi.


#3 Validitas dan konsistensi data


Tipe data membantu memastikan bahwa nilai-nilai yang disimpan dalam kolom atau variabel sesuai dengan jenis data yang diharapkan. 


Misalnya, kolom yang menyimpan tanggal harus menggunakan tipe data date, sehingga hanya tanggal yang valid yang dapat dimasukkan ke dalamnya. Dengan menggunakan tipe data yang sesuai, kita dapat memastikan validitas dan konsistensi data dalam basis data.


#4 Konversi tipe data


Dengan menggunakan fungsi CONVERT, data dapat diubah menjadi tipe yang lebih tepat dan sesuai dengan kebutuhan. Beberapa contoh perubahan tipe data yang bisa dilakukan adalah:


Konversi Tipe Data Teks:

  1. VARCHAR/CHAR menjadi INTEGER/FLOAT/DECIMAL

  2. VARCHAR/CHAR menjadi DATE/DATETIME/TIME

  3. VARCHAR/CHAR menjadi BOOLEAN

Konversi Tipe Data Numerik:

  1. INTEGER/FLOAT/DECIMAL menjadi VARCHAR/CHAR

  2. INTEGER/FLOAT/DECIMAL menjadi DATE/DATETIME/TIME

  3. Konversi Tipe Data Tanggal dan Waktu:

  4. DATE/DATETIME/TIME menjadi VARCHAR/CHAR

  5. DATE/DATETIME/TIME menjadi INTEGER/FLOAT/DECIMAL

Konversi Tipe Data Biner:

  1. BINARY menjadi VARCHAR/CHAR

  2. BINARY menjadi INTEGER/FLOAT/DECIMAL

  3. Konversi Tipe Data Boolean:

  4. BOOLEAN menjadi VARCHAR/CHAR

  5. BOOLEAN menjadi INTEGER/FLOAT/DECIMAL

Contoh Penggunaan CONVERT SQL untuk Konversi Tipe Data 

Dalam contoh ini, kita menggunakan tabel "Employees" (Pegawai) dan mengambil kolom "EmployeeName" (Nama Pegawai) dan "HireDate" (Tanggal Diterima). 

Kemudian, menggunakan fungsi CONVERT, kita mengonversi nilai "HireDate" ke berbagai tipe data dengan query dan output-nya sebagai berikut:

#1 Mengubah ke tipe data date

SELECT EmployeeName, CONVERT (date, HireDate) AS ConvertedHireDate
FROM Employees;

Copy

Output

#2 Mengubah ke tipe data time

Syntax

SELECT CONVERT(time, StartTime) AS ConvertedStartTime
FROM Employees;

Copy

Output

#2 Mengubah ke tipe data date time

Syntax

SELECT CONVERT (datetime, LastModified) AS ConvertedLastModified
FROM Employees;

Copy

Output

#3 Mengubah ke tipe data decimal

Syntax

SELECT CONVERT (decimal(10,2), Salary) AS ConvertedSalary
FROM Employees;

Copy

Output

#4 Mengubah ke tipe data integer

Syntax

SELECT CONVERT(int, Age) AS ConvertedAge
FROM Employees;

Copy

Output

#5 Mengubah ke tipe data varchar/string

Syntax

SELECT CONVERT (varchar(50), EmployeeID) AS ConvertedEmployeeID
FROM Employees;

Copy

Output

Contoh Penggunaan CONVERT SQL untuk Konversi Format Data 

#1 Mengubah Format Tanggal

Salah satu penggunaan paling umum dari fungsi CONVERT adalah untuk mengubah format tanggal. 

Misalnya, kita memiliki tabel Sales dengan kolom OrderDate yang berisi tanggal pemesanan dalam format 'YYYY-MM-DD'. Kita ingin mengubah format tanggal menjadi 'DD-MM-YYYY'. Berikut adalah contoh query SQL dan tampilan output-nya:

SELECT OrderDate, CONVERT(VARCHAR, OrderDate, 105) AS FormattedDate
FROM Sales;

Copy

Output yang dihasilkan:

Dalam contoh di atas, format tanggal 'YYYY-MM-DD' dari kolom OrderDate telah berhasil diubah menjadi format 'DD-MM-YYYY' dengan menggunakan fungsi CONVERT. 

#2 Mengubah Format Waktu

Misalkan kita memiliki tabel Orders dengan kolom OrderTime yang berisi waktu pemesanan dalam format 'HH:MI:SS'. Kita ingin mengubah format waktu menjadi 'HH:MI AM/PM'.

SELECT OrderTime, CONVERT(VARCHAR, CAST (OrderTime AS TIME), 100) AS Formé
FROM Orders;</div><p>‍<em>Output</em> yang dihasilkan:</p><figure style="max-width:575pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img src="https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/64941bc86f6ee562b99d435e_Screen_Shot_2023-06-22_at_16.52.05.WebP" loading="lazy" alt="sql convert untuk mengubah format waktu"/></div></figure><p>Dalam contoh di atas, format waktu &#x27;HH:MI:SS&#x27; dari kolom <strong>OrderTime</strong> telah diubah menjadi format &#x27;HH:MI AM/PM&#x27; menggunakan fungsi CONVERT dan CAST </p><p><strong>Catatan:</strong> <em>fungsi CAST akan dijelaskan lebih lanjut pada bagian FAQs</em>.</p><p>{{COMPONENT_IDENTIFIER}}</p><h3><strong>#3 Mengubah Format Angka</strong></h3><p>Misalkan kita memiliki tabel <strong>Products</strong> dengan kolom <strong>Price</strong> yang berisi harga produk dalam format numerik. Kita ingin mengubah format angka menjadi dengan pemisah ribuan dan dua angka desimal.</p><div class="w-embed"><pre><code class="language-markup"><!--SELECT Price, CONVERT (VARCHAR, CAST (Price AS DECIMAL (10,2)), 1) AS Format
FROM Products;

Copy

Output yang dihasilkan:

Dalam contoh ini, harga produk dalam kolom Price telah diubah menjadi format dengan pemisah ribuan dan dua angka desimal menggunakan fungsi CONVERT dan CAST.

Apa Perbedaan CONVERT dan TRY_CONVERT?

Fungsi TRY_CONVERT adalah fungsi tambahan yang tersedia dalam beberapa RDBMS, seperti Microsoft SQL Server, yang berguna untuk mengonversi nilai ke tipe data tertentu. Perbedaan utama antara TRY_CONVERT dan CONVERT terletak pada penanganan nilai-nilai yang tidak dapat dikonversi.

Ketika menggunakan fungsi CONVERT, jika nilai yang akan dikonversi tidak sesuai dengan tipe data yang ditentukan, maka akan terjadi error dan query akan gagal. Namun, dengan menggunakan fungsi TRY_CONVERT, jika nilai tidak dapat dikonversi, maka fungsi tersebut akan mengembalikan NULL daripada menghasilkan error.

Contoh penggunaan TRY_CONVERT:

SELECT TRY_CONVERT (int. '123') AS ConvertedValue;

Copy

Dalam contoh ini, kita mencoba mengonversi nilai '123' ke tipe data integer. Jika nilai tersebut dapat dikonversi menjadi integer, maka hasil konversi akan ditampilkan. Namun, jika nilai tidak dapat dikonversi, maka hasilnya akan menjadi NULL.

Penggunaan TRY_CONVERT sangat berguna dalam situasi di mana kita tidak yakin apakah nilai dapat dikonversi atau tidak, dan kita ingin menghindari terjadinya error dan memeriksa nilai yang tidak valid.

Jadi, dapat dikatakan bahwa fungsi TRY_CONVERT adalah versi aman dari fungsi CONVERT, yang memberikan fleksibilitas dan penanganan yang lebih baik terhadap konversi tipe data yang mungkin tidak berhasil.

Tips dan Trik dalam CONVERT SQL

Meskipun fungsi CONVERT SQL sangat berguna, ada beberapa tips dan trik yang perlu diperhatikan saat menggunakannya. Salah satu tips penting adalah memastikan hasil konversi yang dilakukan masuk akal dan tidak merusak integritas data. 

Verifikasi hasil konversi sebelumnya dapat membantu memastikan keabsahan data yang telah dikonversi. 

Selain itu, jika kamu merasa sering melakukan banyak konversi dalam pekerjaan sehari-hari, itu mungkin mengindikasikan adanya masalah dalam penyimpanan atau pemrosesan data. Semisal data memiliki format yang tidak konsisten, seperti ada karakter non-numerik seperti simbol mata uang atau tanda baca yang tercampur di dalam data.

Dalam hal ini, ada baiknya untuk mempertimbangkan revisi proses pengumpulan atau entri data guna meningkatkan efisiensi dan kualitas data yang dihasilkan.

Contoh berikut mengilustrasikan pentingnya konsistensi data.

Misalnya, kita memiliki tabel Employees dengan kolom Salary yang berisi gaji karyawan dalam format string. Kita ingin mengonversi gaji-gaji tersebut menjadi tipe data integer agar dapat melakukan perhitungan matematika dengan lebih mudah.

Sebelum menggunakan fungsi CONVERT, kita perlu memastikan bahwa data yang akan dikonversi memiliki format yang konsisten. Jika tidak, konversi akan menghasilkan nilai NULL atau mengembalikan pesan kesalahan.

Berikut adalah contoh tabel Employees sebelum dilakukan konversi:

Kita akan menggunakan fungsi CONVERT untuk mengubah tipe data kolom Salary menjadi integer dengan sintaks berikut:

SELECT EmployeeID, CONVERT (int, REPLACE(REPLACE (Salary, ‘$’, ‘’), ‘,’, ‘’))
FROM Employees;

Copy

Pada contoh di atas, kita menggunakan fungsi CONVERT dalam kombinasi dengan fungsi REPLACE untuk menghilangkan karakter non-numerik seperti simbol mata uang dan tanda koma. Hasil konversi ditampilkan dalam kolom ConvertedSalary.

Output yang dihasilkan adalah sebagai berikut:

Dalam contoh ini, setelah menghilangkan karakter non-numerik dan mengubah tipe data menjadi integer, nilai-nilai gaji karyawan berhasil dikonversi dan siap digunakan untuk perhitungan matematika.

Kesimpulan

Fungsi CONVERT dalam SQL dapat mengubah format dan jenis data dengan mudah, sehingga memungkinkan kamu untuk menganalisis dan memanipulasi data jauh lebih efisien.

Memahami dan mengimplementasikan fungsi CONVERT dalam pekerjaan sehari-hari akan memperluas kemampuan untuk berinteraksi dengan database dan memaksimalkan hasil analisis data.

FAQs

#1 Apa perbedaan fungsi CONVERT dan CAST?

Fungsi CONVERT dan CAST pada SQL memiliki fungsi yang mirip, yaitu untuk mengubah atau mengonversi tipe data. Namun keduanya punya perbedaan yang signifikan, yaitu:

  • CONVERT memungkinkan penggunaan style atau format khusus, seperti format tanggal atau format numerik tertentu. CAST tidak mendukung pengaturan gaya khusus.

  • CONVERT juga mendukung konversi tipe data yang tidak didukung oleh CAST, seperti konversi tipe data binary ke string dalam format heksadesimal.

  • CAST merupakan bagian dari standar SQL dan didukung oleh sebagian besar database yang mengikuti standar tersebut, termasuk MySQL, PostgreSQL, Oracle, Microsoft SQL Server. Sedangkan CONVERT adalah fungsi nonstandar yang spesifik untuk beberapa database, seperti Microsoft SQL Server, Sybase.

  • CAST dapat digunakan di Google BigQuery untuk mengubah tipe data. Sedangkan CONVERT tidak compatible dengan Google BigQuery.

Berikut ini adalah contoh query dan output yang menunjukkan perbedaan antara CONVERT dan CAST:

–Contoh penggunaan CONVERT
SELECT CONVERT (varchar, OrderDate, 103) AS FormattedDate_Convert
FROM Orders;
–Contoh penggunaan CAST
SELECT CAST (OrderDate AS varchar) AS FormattedDate_Cast
FROM Orders;

Copy

Output:

Dalam output di atas, kita dapat melihat bahwa hasil konversi dengan menggunakan CONVERT menghasilkan tanggal dalam format dd/mm/yyyy sesuai dengan style 103. Sementara itu, hasil konversi dengan menggunakan CAST menghasilkan tanggal dalam format yyyy-mm-dd secara default.

#2 Apakah fungsi CONVERT memengaruhi nilai asli atau hanya mengubah format tampilan?

Fungsi CONVERT biasanya mengubah tipe data dan format tampilan data, tetapi tidak memengaruhi nilai asli. 

Misalnya, ketika kita mengonversi string menjadi integer menggunakan fungsi CONVERT, nilai asli string tetap tidak berubah, tetapi tipe data yang direpresentasikan berubah menjadi integer.

Misalkan kita memiliki tabel Student" dengan kolom Score yang berisi nilai-nilai siswa dalam bentuk string. Kita ingin mengonversi nilai-nilai tersebut menjadi tipe data float agar dapat melakukan perhitungan matematika.

Berikut adalah contoh tabel Students sebelum dilakukan konversi:

Kita akan menggunakan fungsi CONVERT untuk mengubah tipe data kolom Score menjadi float dengan sintaks berikut:

Output yang dihasilkan adalah sebagai berikut:

Dalam contoh ini, perhatikan bahwa nilai asli dalam kolom Score tetap tidak berubah. Namun, tipe datanya telah diubah menjadi float menggunakan fungsi CONVERT. Dengan demikian, nilai-nilai tersebut sekarang dapat digunakan untuk operasi matematika seperti perhitungan rata-rata, penjumlahan, dan sebagainya.

Dengan fungsi CONVERT, kita dapat mengubah tipe data kolom Score menjadi float agar sesuai dengan kebutuhan analisis kita. Namun, penting untuk diingat bahwa meskipun tipe data telah diubah, nilai-nilai asli dalam tabel tetap tidak berubah.

bottom of page